1. 程式人生 > 程式設計 >Java微信小程式oss圖片上傳的實現方法

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: "上傳失敗",})

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="****************";

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。