为了从我的Android设备的文件系统向一个服务器发送一个文件,我使用的是cordova 3.5和以下代码(因为你可以读取这段代码,文件在我的下载目录中):
receivedEvent: function(id) {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fsSuccess, fail);
}
function fsSuccess(fs){
fs.root.getDirectory("Download", {create: false, exclusive: false}, doDirectoryListing, FileError);
}
function doDirectoryListing(dirEntry) {
var directoryReader = dirEntry.createReader();
directoryReader.readEntries(gotFiles, FileError);
}
function gotFiles(entries)
{
var wsUrl = "http://myServer/";
var fileToSend = "file:///storage/sdcard0/Download/"+entries[0].name, "file:///storage/sdcard0/Download/";
multipart.uploadFiles(success, error, wsUrl, fileToSend);
}
我可以读取/下载解析所有条目的所有文件(名称),但我不知道如何获取需要的特定文件(例如条目[0])传递给 uploadFiles 函数。
问题:我尝试了不同的方式,例如将其与“file:/// storage / sdcard0 / Download /”连接,但始终获得找不到文件。
答案 0 :(得分:0)
我自己找到了解决方案,
主要 file:// 将被删除。
可以通过这种方式获得:fileToSend.replace("file://", ""));