上传文件至oss服务器

阿里云文件上传oss服务:

步骤:

1.登录阿里云申请账号,开通oss图片存储服务;

2.登录控制台oss新建bucket(注意命名规范,设置公共读写);

3.获取key和secret

4.下载javasdk导入项目中

5.上传文件到阿里云的方法和直接从阿里云下载文件的方法如下:

public void uploadFileToOss(String key, String filename){
File file = new File(filename);
ObjectMetadata objectMeta = new ObjectMetadata();
objectMeta.setContentLength(file.length());
objectMeta.setContentType("image/jpeg");
InputStream input;
try {
input = new FileInputStream(file);
OSSClient client = initParam.getOssClient();
client.putObject(initParam.getBucketName(), key, input, objectMeta);
} catch (FileNotFoundException e) {
logger.error("找不到文件:"+filename);
e.printStackTrace();
}catch(OSSException oe){
logger.error("OSSException");
oe.printStackTrace();
}catch(ClientException ce){
logger.error("ClientException");
ce.printStackTrace();
}
}
public void downFileFromOss(String key, String filename,
HttpServletRequest request,HttpServletResponse response){
OutputStream outStream=null;
try{
outStream=response.getOutputStream();
ServletUtils.setFileDownloadHeader(request, response, filename);
OSSClient client = initParam.getOssClient();
GetObjectRequest getObjectRequest = new GetObjectRequest(initParam.getBucketName(), key);
OSSObject ossObject = client.getObject(getObjectRequest);
byte[] buffer = new byte[1024];
int bytesRead=0;
outStream = response.getOutputStream();
while ((bytesRead = ossObject.getObjectContent().read(buffer)) > -1) {
outStream.write(buffer, 0, bytesRead);
}
outStream.flush();
} catch (UnsupportedEncodingException e) {
logger.error("下载文件失败",e);
} catch (IOException e) {
logger.error("下载文件失败",e);
}finally{
if(outStream != null){
try {
outStream.close();
} catch (IOException e) {
logger.error("关闭输入流失败",e);
}
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值