如何使用phonegap从手机上传文件?是否需要上传文件的手机插件?

时间:2017-03-23 05:40:15

标签: cordova mobile file-upload phonegap

我们正在尝试将文件从手机移动应用上传到网络服务器 在现有Web应用程序中使用默认文件上载选项

我们尝试使用手机间隙构建apk

我们的问题是如何使用phonegap从手机上传文件?是否需要上传文件的手机插件?

3 个答案:

答案 0 :(得分:0)

是肯定的。要从网络服务器上传或下载文件,您需要使用文件传输插件。添加以下插件。

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);

答案 1 :(得分:0)

cordova plugin add cordova-plugin-file-chooser
cordova plugin add cordova-plugin-file

添加上面的插件后,html输入文件可以正常工作 现有Web应用程序代码无需更改

答案 2 :(得分:0)

将这些添加到项目中:

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" />