c***@foxmail.com
c***@foxmail.com
  • 发布:2018-08-20 15:32
  • 更新:2019-05-29 10:37
  • 阅读:2851

resolveLocalFileSystemURL编码错误

分类:HTML5+

demo地址: https://github.com/cyanyiyi/5-code-err-demo.git
真机调试 iphone手机
我用chooseImg配合resolveLocalFileSystemURL,可以实现调用摄像头拍摄照片,然后转成base64传送给后台,但是当用chooseVideo拍摄视频然后用resolveLocalFileSystemURL处理的时候会报 编码错误

http://ask.dcloud.net.cn/question/8445 有提到要在视频path前加file:// 但是我加了之后报错 由 编码错误 变成 不允许读

            e_shootFace() {  
                const that = this;  
                uni.chooseVideo({  
                    count: 1,  
                    sourceType: ['album', 'camera'],  
                    success: function (res) {  
                        //#ifdef APP-PLUS  
                        plus.nativeUI.alert(JSON.stringify(res));  
                        const tempFilePath = res.tempFilePath;  
                        uni.saveVideoToPhotosAlbum({  
                            filePath: tempFilePath,  
                            success: function () {  
                                plus.nativeUI.alert('save success');  
  
                            }  
                        });  
			plus.nativeUI.alert(tempFilePath);  
                        plus.io.resolveLocalFileSystemURL(tempFilePath, function (entry) {  
                            entry.file(function (file) {  
                                const fileReader = new plus.io.FileReader();  
                                fileReader.readAsDataURL(file, 'utf-8');  
                                fileReader.onloadend = function (evt) {  
                                    // console.log(evt.target.fileName);  
									plus.nativeUI.alert('onloadend');  
                                    plus.nativeUI.alert(evt.target.fileName);  
                                    request.post({  
                                        url: '/face/faceRawVideo/uploadValidateVideo',  
                                        data: {  
                                            data: {  
                                                fileName: evt.target.fileName,  
                                                base64: evt.target.result  
                                            }  
                                        }  
                                    }).then(d => {  
                                        plus.nativeUI.alert("d" + JSON.stringify(d));  
                                        that.faceFlag = true;  
										that.faceVideoSrc = tempFilePath;  
                                        uni.hideLoading();  
                                    }, d => {  
                                        plus.nativeUI.alert("err" + JSON.stringify(d));  
                                        that.faceFlag = false;  
                                        uni.hideLoading();  
                                    })  
                                }  
                            });  
                        }, function (e) {  
                            plus.nativeUI.alert("Resolve file URL failed: " + e.message);  
                            that.faceFlag = false;  
                            uni.hideLoading();  
                        });  
                        //#endif  
                    }  
                });  
            },
2018-08-20 15:32 负责人:无 分享
已邀请:
愤怒的洋芋蛋蛋

愤怒的洋芋蛋蛋 - 苦逼程序员

我解决了,只是在最后面有个文件类型,在最下面,安卓就没有问题,iphone就会应为缺少这个报错

  • 7***@qq.com

    万分感谢 谢谢谢谢


    2019-06-04 22:03

Trust

Trust - 少说废话

上传一个最简的可以重现问题的demo。

1***@qq.com

1***@qq.com

怎么解决的?我现在也有这个问题

  • c***@foxmail.com (作者)

    不用chooseVideo 用5+的plus.camera


    2019-01-10 17:55

愤怒的洋芋蛋蛋

愤怒的洋芋蛋蛋 - 苦逼程序员

天啊楼主我遇到了类似的问题,我是在ios选择视频:加上file://是不允许读 改成file:变成编码错误,请问要怎么弄呢?????

  • 7***@qq.com

    我也是 ,求助


    2019-05-25 22:46

  • 愤怒的洋芋蛋蛋

    回复 7***@qq.com: 别怕我解决了,只是在最后面有个文件类型,在最下面,安卓就没有问题,iphone就会应为缺少这个报错


    2019-05-29 10:35

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