具有 Windows Azure 存储的 Cordova,如果对我的容器的访问是 public,我还需要身份验证吗?
Cordova with Windows Azure Storage, if the access to my container is public, do I still need authentification?
所以我将 Cordova 与 Windows Azure 存储一起使用,并且我使用插件 file-transfer 和来自 Cordova 的文件从 Azure 下载具有 public 访问权限的文件。我收到错误代码 1 (FileTransferError.FILE_NOT_FOUND_ERR)。我很确定我的 URL 是正确的,所以我想知道是否是因为我没有向 headers 添加身份验证...但是因为它是一个 public 文件,我真的吗需要认证吗?
这是我的 Cordova 代码,如果有帮助的话:
var fileTransfer = new FileTransfer();
var uri = encodeURI("https://MY_ACCOUNT.blob.core.windows.net/MY_CONTAINER/test2.txt");
var fileURL = cordova.file.dataDirectory;
fileTransfer.download(
uri,
fileURL,
function(entry) {
alert('entry');
alert("download complete: " + entry.toURL());
},
function(error) {
alert("error code" + error.code);
},
false
);
对于那些可能遇到与我相同问题的人来说,这是 fileURL 路径不完整。在 fileURL 的末尾,您添加了文件名,所以我的是:
var fileURL = cordova.file.dataDirectory+"test2.txt";
所以我将 Cordova 与 Windows Azure 存储一起使用,并且我使用插件 file-transfer 和来自 Cordova 的文件从 Azure 下载具有 public 访问权限的文件。我收到错误代码 1 (FileTransferError.FILE_NOT_FOUND_ERR)。我很确定我的 URL 是正确的,所以我想知道是否是因为我没有向 headers 添加身份验证...但是因为它是一个 public 文件,我真的吗需要认证吗?
这是我的 Cordova 代码,如果有帮助的话:
var fileTransfer = new FileTransfer();
var uri = encodeURI("https://MY_ACCOUNT.blob.core.windows.net/MY_CONTAINER/test2.txt");
var fileURL = cordova.file.dataDirectory;
fileTransfer.download(
uri,
fileURL,
function(entry) {
alert('entry');
alert("download complete: " + entry.toURL());
},
function(error) {
alert("error code" + error.code);
},
false
);
对于那些可能遇到与我相同问题的人来说,这是 fileURL 路径不完整。在 fileURL 的末尾,您添加了文件名,所以我的是:
var fileURL = cordova.file.dataDirectory+"test2.txt";