gpt4 book ai didi

cordova - FileTransfer 返回所有属性的错误 `null`

转载 作者:行者123 更新时间:2023-12-02 17:19:17 28 4
gpt4 key购买 nike

在我的 Ionic 2 应用程序中,我使用 cordova-plugin-camera 拍照,通过 FILE_URL (本地设备的图像位置)检索图片,效果很好.

这给了我用相机拍照时的 URL:file:///storage/emulated/0/Android/....../1234.jpg

从图库中选择图像时如下所示:content://com.android.providers.media.documents/document/image%232312

现在我尝试使用 cordova-plugin-file-transfer 上传此图像。

我的上传功能如下:

upload(){
let options: FileUploadOptions = {
fileKey: 'file',
fileName: 'my_image.jpg',
headers: {'X-CSRF-Token': localStorage.getItem('u:token')}
}
alert(this.imageSrc);
this.fileTransfer.upload(this.imageSrc, encodeURI(this.API_URL), options, true)
.then(data => {
alert("d:"+JSON.stringify(data));
}, err => {
alert("E:"+JSON.stringify(err));
});
}

但是我收到一个包含以下内容的错误对象

{
"code" : "null",
"source" : "null",
"target" : "null",
"http_status" : "null",
"body" : "null",
"exception" : "null"
}

注意:没有抛出其他错误

最佳答案

编辑:

在我过去使用过这个插件的地方,我通常会传入:

file:///Path/To/File/ 

或者类似的东西:

cdvfile://localhost/persistent/path/to/file.txt

您还可以传入数据 URI,如下所示:

data:image/jpg;base64,iVBORw0KGgoAAA....

我看到您正在使用相机插件,您是否尝试过设置相机选项以返回数据 URL 并发送该数据?

navigator.camera.getPicture(onSuccess, onFail,
{
destinationType: Camera.DestinationType.DATA_URL;
});

原创

尝试像这样构建您的选项:

var options = new FileUploadOptions();

options.fileKey = 'file',
options.fileName = 'my_image.jpg',
options.headers = {'X-CSRF-Token': localStorage.getItem('u:token')}

然后尝试像这样上传:

 var ft = new FileTransfer();

ft.upload('file_url', 'endpoint_url', success_callback, fail_callback, options);

关于cordova - FileTransfer 返回所有属性的错误 `null`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43470478/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com