簡體   English   中英

科爾多瓦/ Phonegap FileTransfer iOS錯誤1

[英]Cordova / Phonegap FileTransfer iOS Error 1

我正在編碼一個Cordova應用程序,它會將從相機或圖庫拍攝的圖像上傳到AWS服務器。

我已經對其進行了設置,使其在android上完美運行,但是當我在iOS中運行相同的代碼時,它並沒有按預期運行。

文件傳輸上傳返回錯誤1,根據docs指示未找到要上傳的文件。 但是,我嘗試傳輸的文件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");

解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM