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

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

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...