9***@qq.com
9***@qq.com
  • 发布:2019-01-16 17:08
  • 更新:2022-07-07 00:22
  • 阅读:4983

uni-app chooseImage H5模式下,文件名没有后缀

分类:uni-app

uni-app chooseImage H5模式下,文件名没有后缀

2019-01-16 17:08 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

使用的HBuilderX版本多少? 什么浏览器测试的?选择的文件文件名是什么?

9***@qq.com

9***@qq.com (作者)

HBuilderX版本:1.4.1
浏览器:Google Chrome
选择文件名:b961b27c3ee33549d270ed68f41395ed.jpg

  • DCloud_UNI_GSQ

    选择以后的文件名呢,是什么

    2019-01-18 10:43

9***@qq.com

9***@qq.com (作者)

blob:http://10.10.1.236:8080/0f7a18e1-94c3-452d-8a3a-3a69c07b5dc2

  • DCloud_UNI_GSQ

    用于上传的话就有了,这个是浏览器临时地址和原文件名无关

    2019-01-18 11:50

  • s***@gmail.com

    回复 DCloud_UNI_GSQ: 请问上传之前可以用convars对临时图片进行编辑后再上传么?

    2019-07-29 20:23

  • 米奇妙妙屋

    我的也是这种

    2021-11-11 11:21

1***@qq.com

1***@qq.com - 初级菜鸟

请问怎么显示已经选择的图片呢?没有扩展名

Nocker

Nocker

后端没有文件后缀无法上传,怎么解决的

bandeng

bandeng

自己创建的blob上传后没有扩展名,怎么解决

1***@qq.com

1***@qq.com

上传图片的时候 filename没有带后缀名

  • j***@126.com

    请问这个问题你是怎么解决的?我也遇到这个问题了,默认的没有压缩图像,我中间压缩了一下,返回的blob就不行了,上传的时候文件名没有扩展名。

    2020-04-07 12:45

  • 开发者M_少

    这个问题解决了吗?上传的图片没有后缀名

    2022-06-01 15:33

c***@163.com

c***@163.com

原始文件名和扩展名是 res.tempFiles[0].name

c***@163.com

c***@163.com

上传的代码,在filePath: 下面,还需要加上:cloudPath: res.tempFiles[0].name,

  • MonikaChen

    H5下面,res.tempFiles是空数组

    2020-10-04 23:33

  • 2***@qq.com

    cloudPath添加也没有用,后台的后缀名无法判定,这个问题是要怎么修改的

    2021-01-05 18:23

2***@qq.com

2***@qq.com

这个问题解决了吗?上传的图片没有后缀名

j***@163.com

j***@163.com

如下是我的处理方法:
uni.chooseImage({
count: num,
sizeType: ['original', 'compressed'],
sourceType: ['camera','album'],
success: (res)=> {
const files = res.tempFiles;
for (let i = 0; i < files.length; i++) {
const imgSize = files[i] && files[i].size ? files[i].size : 0;
//这是上传的文件名
const imgName = files[i] && files[i].name ? files[i].name : '';
console.log("old==",imgName,imgSize,suffix);
//https://blog.csdn.net/weixin_43479115/article/details/116235540 H5压缩的方法
TranslateImage.translate(files[i].path, ((res) => {
//这步的压缩后的文件是没有文件名,只好在压缩前先取到文件的文件名
let obj = new Object();
obj.name = imgName; //上传的文件
obj.uri = res.url;
_this.imgArr.push(obj); //这是存放图片对象的数组
return;
}))

    }  
}  

});

最后使用uni.uploadFile() 来上传,如下:
uni.uploadFile({
url: url,
files: _this.imgArr,
fileType: "image",
formData: json_data,
header:{},
success: uploadFileRes => {
},fail(){
}
});

//java 服务端的处理如下:
List<UploadFile> uploadFile_list = getFiles();//这是jfinal 的处理方法 ,而spring 应该也差不多的处理文件
而对象 UploadFile 有个方法:getParameterName() 这是获取到上传文件的文件名 obj.name
剩下的如何在保存文件到服务器时把文件的后缀加上就可以的。

该问题目前已经被锁定, 无法添加新回复