uniapp上传图片 前端以及java后端代码实现

简介: uniapp上传图片 前端以及java后端代码实现

最近在做uniapp相关的开发,在上传图片的时候遇到了一些问题,所幸经过一些努力,解决开发过程中遇到的困难,记录一下uniapp上传图片的实现过程


1、前端代码

setPic1: function() {
        var me = this;
        var serverUrl = this.serverUrl;
        uni.chooseImage({
          count: 1,
          sizeType: ['original', 'compressed'],
            success: function(res) {
                const tempFilePaths = res.tempFilePaths[0];
                uni.uploadFile({
                    url: serverUrl+ '/api/common/upload',
                    filePath: tempFilePaths,
                    name: 'file',
              success: (myres) => {
                var jsonObject = JSON.parse(myres.data);
                if(jsonObject.code == 0){
                  var imageUrl = jsonObject.data.url;
                  me.businessLicencesUrl = imageUrl;
                  me.isUploadimg = true;
                }
              }
                    
                });
            }
        });
 
      },


uploadFile中URL指向的是自己的上传接口, filePath就是一个临时路径


2、java的后端代码

@ApiOperation("图片上传")
    @PostMapping("/common/upload")
    public AjaxResult uploadFile(HttpServletRequest request) throws Exception
    {
        try
        {
            // 上传文件路径
            String filePath = IMAGEHOME;
 
            MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
 
            //对应前端的upload的name参数"file"
            MultipartFile file = req.getFile("file");
            // 上传并返回新文件名称
            String fileName = FileUploadUtils.upload(filePath, file);
            String url = serverConfig.getUrl() + fileName;
            Map<String, Object> result = new HashMap<>();
            result.put("fileName", fileName);
            result.put("url", url);
            return AjaxResult.success(result);
        }
        catch (Exception e)
        {
            return AjaxResult.error(e.getMessage());
        }
    }


测试图片上传的功能,最后真机测试,或是通过小程序测试,PC端调试的时候,uniapp生成的临时文件路径可能会有问题,至此图片上传功能完成。

目录
相关文章
|
10小时前
|
移动开发 前端开发 应用服务中间件
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码 亲测可用
6 1
|
1天前
|
缓存 算法 安全
如何优化Java代码性能
如何优化Java代码性能
|
1天前
|
前端开发 API
支付系统27-------梳理一下支付按钮,前端的代码
支付系统27-------梳理一下支付按钮,前端的代码
|
1天前
|
设计模式 IDE Java
提高Java代码的可读性的技巧
提高Java代码的可读性的技巧
|
2天前
|
Java 测试技术 开发者
Java中设计可测试的代码的最佳实践
Java中设计可测试的代码的最佳实践
|
2天前
|
JSON 前端开发 Java
Java与前端框架集成开发指南
Java与前端框架集成开发指南
|
3天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
16 0
|
3天前
|
存储 安全 Java
JAVA反射技术:让你像“黑客”一样操控代码
【7月更文挑战第1天】JAVA反射技术让开发者能动态操控代码,如在运行时检查类、接口、字段和方法,以及动态创建对象。在一个企业级应用案例中,通过反射,实现了动态加载和卸载请求处理模块,避免了传统方式下需重启应用的不便。`ReflectionBasedDispatcher`类使用反射注册并管理`RequestHandler`实现类,提高了代码灵活性和应对变化的能力,展现了反射技术的强大和实用性。
|
3天前
|
安全 Java 数据安全/隐私保护
JAVA反射:你的代码“活”了吗?
【7月更文挑战第1天】Java反射是运行时动态代码操作,允许访问和修改类、属性及方法。它提供动态加载类、按需调用方法、修改私有属性及创建泛型实例的能力。使用反射需注意性能损耗、安全风险和代码可读性降低。示例展示了通过`Class.forName()`加载类,`getDeclaredConstructor().newInstance()`创建对象,`getMethod().invoke()`调用方法的过程。在性能敏感和安全关键的项目中使用时需谨慎。
|
2月前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
276 1