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

 更新时间:2019年12月19日 11:09:25   作者:fan___  
这篇文章主要介绍了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 @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="****************";

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

相关文章

  • JAVA使用quartz添加定时任务,并依赖注入对象操作

    JAVA使用quartz添加定时任务,并依赖注入对象操作

    这篇文章主要介绍了JAVA使用quartz添加定时任务,并依赖注入对象操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java Condition条件变量提高线程通信效率

    Java Condition条件变量提高线程通信效率

    这篇文章主要介绍了Java Condition条件变量提高线程通信效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java实战之实现文件资料上传并生成缩略图

    Java实战之实现文件资料上传并生成缩略图

    这篇文章主要介绍了通过Java实现文件资料的上传并生成一个缩略图,文中的示例代码讲解详细,对我们学习Java有一定的帮助,感兴趣的小伙伴可以了解一下
    2021-12-12
  • java web中的servlet3 upload上传文件实践

    java web中的servlet3 upload上传文件实践

    这篇文章主要介绍了servlet3 upload上传文件实践,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • Java Swing的层次结构深入理解

    Java Swing的层次结构深入理解

    这篇文章主要介绍了Java Swing的层次结构深入理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    这篇文章主要介绍了springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot+SpringSecurity+JWT实现系统认证与授权示例

    SpringBoot+SpringSecurity+JWT实现系统认证与授权示例

    本文主要介绍了SpringBoot+SpringSecurity+JWT实现系统认证与授权示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Maven仓库分类的优先级

    Maven仓库分类的优先级

    本文主要介绍了Maven仓库分类的优先级,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 解决springboot 获取form-data里的file文件的问题

    解决springboot 获取form-data里的file文件的问题

    这篇文章主要介绍了解决springboot 获取form-data里的file文件的问题的相关资料,这里提供了详细的解决步骤,需要的朋友可以参考下
    2017-07-07
  • Java实现红黑树(平衡二叉树)的详细过程

    Java实现红黑树(平衡二叉树)的详细过程

    红黑树接近平衡的二叉树,插入,删除函数跟平衡二叉树一样,只是平衡函数不同,下面这篇文章主要给大家介绍了关于Java实现红黑树(平衡二叉树)的相关资料,需要的朋友可以参考下
    2021-10-10

最新评论