gpt4 book ai didi

ios - Cordova/Phonegap 文件传输 iOS 错误 1

转载 作者:行者123 更新时间:2023-11-29 12:44:18 25 4
gpt4 key购买 nike

我正在编写一个 Cordova 应用程序,它将从相机或图库中拍摄的图像上传到 AWS 服务器。

我已将其设置为在 Android 中完美运行,但当我在 iOS 中运行相同的代码时,它无法按预期运行。

文件传输上传返回错误 1,根据文档,这表明尚未找到要上传的文件。但是,我尝试传输的文件 URI 似乎是正确的,因为我能够在 Safari 中打开该 URI 并找到图像。

这里是错误:

FileTransferError {
code = 1;
source = "file:///Users/michael/Library/Application Support/iPhone Simulator/7.1-64/Applications/81CAB36F-9B14-42D3-8A00-06FE37A415EB/Documents/.thumbs/albumCover_b9f71c26291844c7f96a9a43fc4c61b6.jpg";
target = "http://***.s3.amazonaws.com/";}

这里是有问题的代码:

var url = "http://***.s3.amazonaws.com/";
var uploadSuccess = function(r) {
console.log("Full Image Uploaded");
}
var uploadError = function(error) {
console.log("Upload Failed, Error: ", error.code);
};
var fullUpload = function() {
socket.emit('getAWSCredentials', {pictureID: imageURI.substr(imageURI.lastIndexOf('/') + 1)}, function(policy) {
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";

var params = {
AWSAccessKeyId: policy.awsKey,
policy: policy.policy,
signature: policy.signature,
key: policy.key,
acl: "public-read",
"Content-Type": "image/jpeg"
};
options.params = params;
options.chunkedMode = false;

var ft = new FileTransfer();
ft.upload(imageURI, encodeURI(url), uploadSuccess, uploadError, options);
});
}
fullUpload();

我应该指出,我已经澄清套接字正在为 AWS 身份验证返回正确的变量。

最佳答案

好的所以我自己修好了。基本上,代码大部分都没有问题,但输入的 URI 包含 fileupload 无法处理的空格。

所以我在顶部添加了以下代码:

imageURI=imageURI.replace(/ /g,"%20");

解决了问题。

关于ios - Cordova/Phonegap 文件传输 iOS 错误 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24025081/

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