huaqiang
huaqiang
  • 发布:2022-09-28 08:41
  • 更新:2022-10-08 16:09
  • 阅读:354

【报Bug】live-pusher组件中使用snapshot保存图片后调用uni.uploadfile上传图片到服务器失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.6.2

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iphone11

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
let _this=this;  
_this.livePusher.snapshot({  
    success: e => {  
        _this.snapshotsrc = e.message.tempImagePath;  
        _this.stopPreview();  
    }  
});  

uni.uploadFile({  
    url: this.uploadFileUrl,  
    filePath: this.snapshotsrc,  
    name: 'file',  
    header: {  
        'X-Access-Token': uni.getStorageSync('token'),  
        'content-type': 'multipart/form-data'  
    },  
    success: (uploadFileRes) => {  

    },  
    fail: (fail) => {  

    }  
});

操作步骤:

使用live-pusher组件,调用摄像头,点击拍照后保存

预期结果:

希望可以正常保存

实际结果:

拍照保存图片后,上传服务器失败,提示文件名中出现了冒号。接口报错如下:
NTFS ADS separator (':') in file name is forbidden.

bug描述:

在打包app应用后,因为使用了live-pusher组件,调用如下方法,在iphone手机中无法调用uni.uploadFile将图片上传到服务器,接口提示信息为:NTFS ADS separator (':') in file name is forbidden.。经测试发现,snapshot返回的 tempImagePath 参数值的文件名为2022-09-27 08:33:43.jpg,此文件名在服务器中无法识别。希望官方能够提供解决方法。

2022-09-28 08:41 负责人:天生DR 分享
已邀请:
天生DR

天生DR - 天生我材必有用

https://www.html5plus.org/doc/zh_cn/io.html

可以通过5+的 IO 接口 去rename 一下这个名字的名字

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