运维开发网

Java微信小程序oss图片上传的实现方法

运维开发网 https://www.qedev.com 2020-08-10 16:23 出处:网络 作者: fan___
先将图片上传到服务器,再将服务器上的图片传入oss中 小程序js //启动上传等待中...

先将图片上传到服务器,再将服务器上的图片传入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 @ResponseBody String programImg(@RequestParam(required = false) MultipartFile file,HttpServletRequest request) {
 File targetFile=null;
    String str="";//返回存储路径
    String fileName=file.getOriginalFilename();//获取文件名加后缀
    if(fileName!=null&&fileName!=""){  
      String returnUrl = ”*****“;//服务器存储路径
      String fileF = FilenameUtils.getExtension(file.getOriginalFilename());//文件后缀
      fileName=”*****************“;//新的文件名
      //先判断文件是否存在,获取文件夹路径
      File file1 =new File(returnUrl); 
      //如果文件夹不存在则创建  
      if(!file1 .exists() && !file1 .isDirectory()){    
        file1 .mkdir(); 
      }   
      //将图片存入文件夹
      targetFile = new File(file1, fileName);
      try {       
       //将上传的文件写到服务器上指定的文件。
       file.transferTo(targetFile); 
        String gifName = "******";//图片oss上传根目录
        String url=gifName+"/"+fileName;
        putObject(targetFile, gifName,fileName);
        str=““;//oss图片路径
      } catch (Exception e) {
        e.printStackTrace();        
      }      
    }
    return str;
 }
public static void putObject(File file,String fileName,String fileName){
 OSSClient ossClient=null;
 try {
  //初始化oss
  ossClient = ossIni();
  //上传路径
  String route=fileName+"/"+fileName;
  //上传图片 img-program--Bucket名称
  ossClient.putObject("img-program",route,file);
 } catch (Exception e) {
  if (ossClient!=null) {
  ossClient.shutdown();
  }
  e.printStackTrace();
 }
 ossClient.shutdown();
 }
private static OSSClient ossIni(){
 OSSClient ossClient = null;
 try {
  ossClient = new OSSClient(ENDPOINT,KEY_ID,KEY_SECRET);
  System.out.println("oss 初始化成功");
 } catch (Exception e) {
  e.printStackTrace();
 }
 return ossClient;
}
public static final String ENDPOINT="****************";
public static final String KEY_ID="*****************";
public static final String KEY_SECRET="****************";

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号