springmvc - 文件上传 - 使用阿里oss文件

公司用到了 阿里的文件服务器 oss ,我们之前用的是springmvc的上传文件。

首先增加阿里的jar到我的maven项目。

复制下面的sample这些java类。、

public class OSSObjectSample {
 private static final String ACCESS_ID = "****";
 private static final String ACCESS_KEY = "****";
 private static final String BUCKET_NAME = "111";
 private static OSSClient client = null;
 private static void initialize() {
  if (client == null) {
   client = new OSSClient(ACCESS_ID, ACCESS_KEY);
  }
 }
 /**
  * 
  * 上传文件 2015年7月2日14:11:27
  * 
  * @param key
  *            服务器的文件名称
  * 
  * @param file
  *            要上传的文件
  * 
  * @param serviceName
  *            那个服务器要访问的路径
  * @return
  * @throws OSSException
  * @throws ClientException
  * @throws FileNotFoundException
  */
 public static String OSSPutObject(String key, File file, String serviceName) {
  initialize();
  ObjectMetadata objectMeta = new ObjectMetadata();
  objectMeta.setContentLength(file.length());
  // 可以在metadata中标记文件类型
//  objectMeta.setContentType("image/jpeg");
  InputStream input;
  try {
   input = new FileInputStream(file);
   client.putObject(BUCKET_NAME, serviceName + "/" + key, input,
     objectMeta);
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return "http://" + BUCKET_NAME + ".oss-cn-hangzhou.aliyuncs.com/"
    + serviceName + "/" + key;
 }
 
 public static String OSSPutObject(String key,MultipartFile multipartFile , String serviceName) {
  initialize();
  
  CommonsMultipartFile commonsMultipartFile= (CommonsMultipartFile)multipartFile; 
        DiskFileItem diskFileItem = (DiskFileItem)commonsMultipartFile.getFileItem(); 
        File file = diskFileItem.getStoreLocation();
        return OSSPutObject(key, file, serviceName);
 }
 
}

开始的时候 使用client的单例。

然后springmvc使用的是MultipartFile这个文件对象接收的 打开源码看一下 和file是没有关系的 是自己定义的一个接口 然后在继续看 他们直接有没有共同点 没发现什么  然后百度看看  找到了CommonsMultipartFile这个对象 然后慢慢的转了过来  测试成功。

时间: 2024-12-07 01:07:54

springmvc - 文件上传 - 使用阿里oss文件的相关文章

Java下载https文件上传到阿里云oss服务

今天做了一个从Https链接中下载音频并且上传到OSS服务器,记录一下希望大家也少走弯路. 一共两个类: 1 实现自己的证书信任管理器类 /** * @author mazhq * @Title: X509TrustUtiil * @ProjectName: zeus * @Description: 证书信任管理器类 * @date 2019/2/18 15:14 */ public class X509TrustUtil implements X509TrustManager { @Overr

Windows环境下用C#编程将文件上传至阿里云OSS笔记

本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/24962567 作者:张建波 邮箱: [email protected]  欢迎来信交流! 第1步: 下载阿里云OSS的SDK包,由于笔者的环境是PHP服务,所以下载的是PHP的SDK包 http://help.aliyun.com/view/13438816.html 第2步:将代码整合进你的网站或服务中. 第3步:配置OSS访问接口 (1)找到c

文件上传到阿里云

/// <summary> /// 文件上传 /// </summary> /// <param name="file"></param> /// <param name="fileName"></param> /// <returns></returns> public string FileSaveAliyunOSS(HttpPostedFileBase file,

JavaScript进阶 九 JS实现本地文件上传至阿里云服务器

JS实现本地文件上传至阿里云服务器 前言 在前面的博客< JavaScript进阶(八)JS实现图片预览并导入服务器功能>(点击查看详情)中,实现了JS将本地图片文件预览并上传至阿里云服务器的操作.这次需要实现将本地打包好的文件上传至阿里云服务器.使用前面的图片文件上传方法无法完成此操作.操作界面如下: 思路 本地与服务端传输文件的格式应该是熟悉的Base64格式.首先需要将本地文件转换为Base64格式,传输至服务端后,在服务端再将Base64格式的文件转换为原始文件. 源码解析 控制器 /

php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)

网上有很多php文件上传的类,文件上传处理是php的一个特色(至少手册上是将此作为php特点来展示的,个人认为php在数组方面的优异功能更有特 色),学php的人都知道文件上传怎么做,但很多人在编程中却可能忽视了一些细节问题,那就是文件的类型(MIME).在表单将文件提交给php做处理之 前,浏览器会先解析识别一边是什么类型的文件,之后进入php处理环节,php又会去识别解析此文件的原始类型(并不是说你改成什么后缀就是什么文件). 在这个过程中会有一些浏览器兼容,更准确来说是文件类型解析标识不一

文件上传类,实现文件上传功能

/** *==================================================================  * upload.class.php 文件上传类,实现文件上传功能 * 2013年3月27日0:37:15 *================================================================== */ class Upload{    private $path;   //文件上传目录    privat

SpringMVC 文件上传配置,多文件上传,使用的MultipartFile

一.配置文件:SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.com

SpringMVC 文件上传配置,多文件上传,使用的MultipartFile(转)

文件上传项目的源码下载地址:http://download.csdn.net/detail/swingpyzf/6979915   一.配置文件:SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file [html] view plain copy print? <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver --> &

ajax结合文件上传类进行多文件的单个上传

今天做项目的时候碰见一个问题:之前一个同事离职之前做了一个网站,有一个上传商品详细图片的功能,当时已经完成,但是由于后期程序的有更改以及更改的程序员的水平也是参差不齐,最后导致程序bug很多,由于当时用的是一个框架,最终也没找到说明文档,后来我就重新写了一个结合ajax上传文件的upload.classs.php虽然界面欠缺美观,但是通俗易懂好维护. //首先是页面. index.php <!DOCTYPE html> <html lang="en"> <