我正在开发一个iPhone应用程序(在Xcode上使用JavaScript,HTML和PhoneGap / Cordova),只需点击一下按钮就可以从Dropbox下载文件,并允许用户将其读入<p>
标签。这一切都有效,但只有当我指定程序要遵循特定文件的URL时。我希望用户能够选择自己的文件并将其下载到应用程序中进行阅读。我目前的代码是;
function downloadfile() {
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://dl.dropbox.com/u/97184921/readme.txt");
fileTransfer.download(
uri,
'/Users/administrator/Library/Application Support/iPhone Simulator/6.1/Applications/AF96D141-0CE5-4D60-9FA8-8A8F9A999C81/Documents/readme.txt',
function(entry) {
console.log("download complete: " + entry.fullPath);
alert("File Downloaded. Click 'Read Downloaded File' to see text");
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
}
);
}
function readDownloadedFile() {
myFileSystem.root.getFile("readme.txt", {create: false, exclusive: false}, gotDownloadFileEntry, fail);
$('#mytext').load('http://dl.dropbox.com/u/97184921/readme.txt', function(){
console.log("read is done");
});
}
function gotDownloadFileEntry(fileEntry) {
console.log(fileEntry);
fileEntry.file(gotFile, fail);
}
如果可以允许用户指定要下载的文件,我怎么能改变代码呢?我对iPhone开发还很陌生,所以任何帮助都会很棒:)
这是按钮的HTML,以备不时之需;
<button onclick="downloadfile();">Download Dropbox File</button>
<button onclick="readDownloadedFile();">Read Downloaded File</button>
答案 0 :(得分:1)
使用输入字段允许用户指定要下载的网址。
<input type="text" id="toDl"/>
然后在你的downloadFile()方法中执行:
var fileUrl = document.getElementById("toDl").value;
获取您要下载的网址。