成都创新互联网站制作重庆分公司

web项目到阿里云服务器上 阿里云部署web项目

怎么用javaweb上传文件到阿里云OSS

前段时间正好做个项目,就是用的oss,普通上传和断点续传,带扰代码贴出来,看是不是你需要的

成都创新互联是一家专注于网站制作、成都网站制作与策划设计,屏山网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:屏山等地区。屏山做网站价格咨询:18980820575

public class OssManage {

public static  String ACCESS_KEY_ID  = null;

public static  String  ACCESS_KEY_SECRET = null;

public static  String  ENDPOINT = null;

public static  String  BUCKETNAME = null;

public static  String  BUCKETNAME_VIDEO = null;

public static String OUT_OF_DATE = null;

private  OSSClient client  = null;

private  ObjectMetadata meta = null;

static{

try {

ACCESS_KEY_ID  = SysConst.getProperty("OSS_ACCESS_KEY_ID");

ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");

ENDPOINT = SysConst.getProperty("OSS_ENDPOINT");

 BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME");

 BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO");

 OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");

} catch (java.lang.Exception e) {

e.printStackTrace();

}

}

public void init(){

 // 初始化一个OSSClient

client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET);

meta = new ObjectMetadata();

}

/**

 * @Description: 上传文件到OSS文件服务器

 * @param content  文件流

 * @param key    上传为OSS文件服务器的唯一标识

 * @param mimeType  文档类型

 * @throws Exception 

 * @ReturnType:String   OSSObject的ETag值。

*/

public String  uploadFile(InputStream content,String key,String mimeType) throws Exception{

//进行初始化

init();

// 必须设置ContentLength

meta.setContentType(mimeType);

// 上传Object.

LogUtil.printConsoleLog("*****************上传蠢塌旦图片到oss服务器开始*****************" + key);

PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta);

LogUtil.printConsoleLog("*****************上传图片到oss服务器结束*****************" + key);

return result.getETag();

}

/**

 * @Description: 根据key获取oss服务器上的图片地址

 * 衫旁@param key

 * @return 

 * @ReturnType:String

*/

public String getImgURl(String key){

init();

Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to expire

GeneratePresignedUrlRequest generatePresignedUrlRequest ;

if(key.startsWith("msplatform")){

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);

}else {

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);

}

generatePresignedUrlRequest.setExpiration(expires);

URL url = client.generatePresignedUrl(generatePresignedUrlRequest);

return url.toString();

}

/**

 * @Description:根据key获取oss服务器上的ipa文件地址

 * @param key

 * @return 

 * @ReturnType:String

 */

public String getIpaURl(String key){

init();

Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);

GeneratePresignedUrlRequest generatePresignedUrlRequest ;

if(key.startsWith("msplatform")){

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);

}else {

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);

}

generatePresignedUrlRequest.setExpiration(expires);

URL url = client.generatePresignedUrl(generatePresignedUrlRequest);

return url.toString();

}

/**

 * @Description: 根据key获取oss服务器上的图片地址

 * @param key

 * @return 

 * @ReturnType:String

*/

public InputStream  getObject(String key){

init();

OSSObject object = null;

if(key.startsWith("msplatform")){

object= client.getObject(BUCKETNAME, key);

}else{

object= client.getObject(BUCKETNAME_VIDEO, key);

}

object.getObjectMetadata().getContentType();

// 获取Object的输入流

InputStream objectContent = object.getObjectContent();

return objectContent;

}

/**

 * @Description:删除文件

 * @param key  OSS文件服务器上文件的唯一标识

 * @ReturnType:void

*/

public void deleteFile(String key){

init();

client.deleteObject(BUCKETNAME, key);

}

/**

 * @Description: 断点上传文件到OSS文件服务器

 * @param content  文件流

 * @param key    上传为OSS文件服务器的唯一标识

 * @param position 位置

*/

public String  appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{

   //进行初始化

init();

// 必须设置ContentLength

meta.setContentLength(position);

meta.setContentType(mimeType);

meta.setCacheControl("no-cache");

meta.setContentEncoding("utf-8");

// 上传

LogUtil.printConsoleLog("*****************断点上传图片到oss服务器开始*****************" + key);

AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta);

appendObjectRequest.setPosition(Long.valueOf(position));

AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest);

LogUtil.printConsoleLog("*****************断点上传图片到oss服务器结束*****************" + key);

return appendObjectResult.getNextPosition().toString();

}

public static void main(String[] args) {

OssManage ossManage = new OssManage();

}

}


文章名称:web项目到阿里云服务器上 阿里云部署web项目
网站路径:http://cxhlcq.com/article/dshoods.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部