我遇到了一个我找不到任何解决方案的问题。我正在使用 Xcode 版本 4.5.1 (4G1004)、Cordova-2.5.0、iPhone4S(版本 5.0 (9A334))
我想要做的是从本地文件系统(/var/mobile/Library/Notes/notes.sqlite)发送文件到远程服务器使用
var ft = new FileTransfer();
ft.upload("/var/mobile/Library/Notes/notes.sqlite", encodeURI("http://myserver.com/fileUpload.php"), win, fail, null);
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
但它失败并出现错误:
Error opening file /var/mobile/Library/Notes/notes.sqlite: Error Domain=NSCocoaErrorDomain Code=257 "The operation couldn’t be completed. (Cocoa error 257.)" UserInfo=0x164070 {NSFilePath=/var/mobile/Library/Notes/notes.sqlite, NSUnderlyingError=0x148670 "The operation couldn’t be completed. Operation not permitted"}
FileTransferError {
code = 1;
source = "/var/mobile/Library/Notes/notes.sqlite";
target = "xxxxxxxxxxxxxxxxxxx/fileUpload.php";
}
如果我对联系人图像做同样的事情,一切正常。
ft.upload("/var/mobile/Applications/367E3D28-2912-4E2B-B798-B49D71F9CAE6/tmp/photo_HHcOG", encodeURI("xxxxxxxxxxx/fileUpload.php"), win, fail, null);
我查看了档案和提交,但没有找到任何解决方案,除了它是某种权限问题,我从 (Cocoa error 257.) 错误中理解。有没有办法为文件 notes.sqlite 分配权限(我检查了 notes.sqlite 的权限(使用文件管理器),与 photo_HHcOG 相同)。我想可能不是文件权限,而是文件夹或用户权限,因为我试图将 notes.sqlite 的权限更改为为每个人写,但结果相同。
有谁知道可能是什么问题以及这是否已解决,并指出我正确的方向?
谢谢你。