我们正在尝试将文件从Phonegap移动应用程序上传到Web服务器在现有 Web 应用程序中使用默认文件上传选项
我们尝试只是使用手机间隙构建apk
我们的问题是如何使用Phonegap从移动设备上传文件?上传文件需要任何电话间隙插件吗?
是的。要从网络服务器上传或下载文件,您需要使用文件传输插件。添加以下插件。
cordova plugin add cordova-plugin-file-transfer
上传文件的示例代码是
var win = function (r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
var fail = function (error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "text/plain";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI("http://some.server.com/upload.php"), win, fail, options);
将这些添加到项目中:
在app/res/xml/config.xml :
<plugin name="File" value="org.apache.cordova.FileUtils" />
<plugin name="FileTransfer" value="org.apache.cordova.FileTransfer" />
在app/AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
cordova plugin add cordova-plugin-file-chooser
cordova plugin add cordova-plugin-file
添加上述插件后,html输入文件可以正常工作无需更改现有 Web 应用程序代码