栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

uni-app H5 上传图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uni-app H5 上传图片

uni-app H5 上传图片
  • uni-app H5 上传图片
    • 环境
    • 前端代码
    • 预览PDF / 图片
    • 后端接口部分代码 Java

请注意:前端代码基本来自 官网,以及我个人的使用记录,价值不大,欢迎参考,感谢指正

uni-app H5 上传图片 环境

uni-app
uView2.x - 表单组件 Upload 上传

前端代码

假设分为 新增、编辑、预览、三个操作,则代码实现略有不同
1.仅新增时,初始数据为空、图片文件列表也为空,对源码无需做何修改
2.仅编辑时,初始化需要加载图片列表,加载和上传时需注意 fileList2 中图片地址的问题(如果数据库始终保存完整地址,也无需考虑,请视情况而定)
3.仅预览时,upload组件需隐藏上传按钮、设置maxCount长度、添加disabled属性




预览PDF / 图片

当“photoUrl”同时保存PDF文件地址或图片地址时
需要预览PDF,要对后端返回的数据进行判断(此处没有预览PDF相关的代码,需要的话可以留言,实现方式有点low哈,可以交流一下)

						//pdf和图片只能有一种,图片可多张,pdf文件仅可上传一个
						if (!this.isNull(data.photoUrl)){
							//判断是jpg还是pdf
							var isPDF = false
							//路径
							let tempPassportUrl = data.photoUrl.split(';')
							if(tempPassportUrl[0].split(".")[1] == 'PDF' || tempPassportUrl[0].split(".")[1] == 'pdf'){
								isPDF = true
								data.maxCount = 0
							} else {
								data.maxCount = tempPassportUrl.length
							}
							//迭代封装url组合成完整的url
							for(var i = 0; i < tempPassportUrl.length; i++){
								let url = tempPassportUrl[i]
								//获取name
								let splitArray = url.split('/')
								let name = splitArray[splitArray.length - 1]
								if(isPDF){
									this.pdfName = name
									this.pdfUrl = this.$ftpUrl+url
								}else{
									this.fileList1.push({name: name, 
														url: this.$ftpUrl+url, 
														saveUrl: url})
								}
							}
						}
后端接口部分代码 Java

这里没有贴完整代码哈,公司实现方式不一样,所以不一定用得到,看一下后端参数类型就行了

	
    @PostMapping("/uploadFiles.api")
    @ApiIgnore
    public Rest uploadFiles(final MultipartFile file){
        Rest rest = new Rest();
        try{
            String path = "/fileservice/passport/img/";
            String fileUrl = file.getOriginalFilename();
            //拼接文件名:时间戳+文件后缀名
            fileUrl = System.currentTimeMillis() + fileUrl.substring(fileUrl.lastIndexOf("."));
            //FTPUtils 自定义文件上传工具类
            boolean isOk = FTPUtils.uploadFile(path, fileUrl, file);
            if(isOk){
                rest.setData(path + fileUrl);
            }else{
                rest.setSuccess(false);
                rest.setMessage("上传文件失败");
                rest.setErrCode("0001");
            }
        }catch (Exception e){
            rest.setSuccess(false);
            rest.setMessage(e.getMessage());
            return rest;
        }
        return rest;
    }

以下是本文全部内容,感谢查看!
欢迎参考,感谢指正!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号