Java微信小程序oss图片上传的实现方法
先将图片上传到服务器,再将服务器上的图片传入oss中
小程序js
//启动上传等待中...
wx.showToast({
title:'正在上传...',
icon:'loading',
mask:true,
duration:10000
})
//上传图片
wx.uploadFile({
url:'***********',//上传的路径(Java后台路径)
filePath:tempFilePaths[0],
name:'file',
success:function(res){
console.log(res.data)//oss图片路径
wx.showToast({
title:"上传成功",
icon:'success',
duration:1000
})
},
fail:function({errMsg}){
wx.showToast({
title:"上传失败",
duration:1000
})
},
})
Java后台
@RequestMapping("/programImg")
public@ResponseBodyStringprogramImg(@RequestParam(required=false)MultipartFilefile,HttpServletRequestrequest){
FiletargetFile=null;
Stringstr="";//返回存储路径
StringfileName=file.getOriginalFilename();//获取文件名加后缀
if(fileName!=null&&fileName!=""){
StringreturnUrl=”*****“;//服务器存储路径
StringfileF=FilenameUtils.getExtension(file.getOriginalFilename());//文件后缀
fileName=”*****************“;//新的文件名
//先判断文件是否存在,获取文件夹路径
Filefile1=newFile(returnUrl);
//如果文件夹不存在则创建
if(!file1.exists()&&!file1.isDirectory()){
file1.mkdir();
}
//将图片存入文件夹
targetFile=newFile(file1,fileName);
try{
//将上传的文件写到服务器上指定的文件。
file.transferTo(targetFile);
StringgifName="******";//图片oss上传根目录
Stringurl=gifName+"/"+fileName;
putObject(targetFile,gifName,fileName);
str=““;//oss图片路径
}catch(Exceptione){
e.printStackTrace();
}
}
returnstr;
}
publicstaticvoidputObject(Filefile,StringfileName,StringfileName){
OSSClientossClient=null;
try{
//初始化oss
ossClient=ossIni();
//上传路径
Stringroute=fileName+"/"+fileName;
//上传图片img-program--Bucket名称
ossClient.putObject("img-program",route,file);
}catch(Exceptione){
if(ossClient!=null){
ossClient.shutdown();
}
e.printStackTrace();
}
ossClient.shutdown();
}
privatestaticOSSClientossIni(){
OSSClientossClient=null;
try{
ossClient=newOSSClient(ENDPOINT,KEY_ID,KEY_SECRET);
System.out.println("oss初始化成功");
}catch(Exceptione){
e.printStackTrace();
}
returnossClient;
}
publicstaticfinalStringENDPOINT="****************";
publicstaticfinalStringKEY_ID="*****************";
publicstaticfinalStringKEY_SECRET="****************";
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。