2016-05-11 45 views
0

我正在使用基於JavaScript的AWS API上載和顯示文檔。 這是一個SAPUI5應用程序,在桌面瀏覽器中都可以正常工作。AWS s3.listobjects未響應科爾多瓦的最新信息APP

現在使用cordova我們生成了一個IOS應用程序,在這裏我們可以成功上傳一個文件到AWS,但是當我打電話給s3.listobjects時,我沒有得到更新的列表作爲響應(例如最初我有3個圖像在一個文件夾,然後我上傳一個新的並再次調用listobjects,但我仍然只有3個文件從響應)。同時我從桌面版本檢查應用程序,它顯示最新列表。

這裏是我的例子代碼。

/* 
    getAWSAttachments:function(vController, folder) { 
    var s3 = new AWS.S3(); 
    var params = { 
    Bucket: vController.folder, /* required */ 
    Prefix:faultId, 
    EncodingType: 'url' 
    }; 
    s3.listObjects(params, function(err, data) { 
    if (err) { 
    console.log(err, err.stack); 
    } else{ 
    console.log(data); 
    } 
    }); 
}, 
s3.putObject(params2, function (err, res) { 
    if (err) { 

     console.log("Error uUploading the file", err); 
    } else { 
     vController.getAWSAttachment(vController, vController.faultId); 
    } 
}); 
//before calling the above methods I config AWS as below in inti of the view 
AWS.config.update({ 
    accessKeyId: this.getOwnerComponent().getModel("awsmodel").oData.AccessKey, 
    secretAccessKey: this.getOwnerComponent().getModel("awsmodel").oData.SecretKey, 
    signatureCache:true, 
    sslEnabled:true, 
    correctClockSkew:true, 
    httpOptions:{xhrAsync:false} 
}); 

*/ 

不知道如果在應用程序的瀏覽器外殼的任何問題或科爾多瓦的應用程序是有導致此高速緩存參數。

在發佈之前,我已經走過了科爾多瓦AWS插件,但正如我看到的例子,它使用相同的方法,所以不知道這是否會解決問題。

回答

0

我們發現這是由於NSURL Cache被iOS設備持有。 我們添加了相應的Cordova插件並清除了chache。這解決了這個問題。

我沒有代碼方便與我,但如果你需要它,請不要回復我這個職位,我會挖掘它。

乾杯, Sai