如何在phonegap中上传任何类型的文件

时间:2016-10-08 09:58:33

标签: php android jquery cordova phonegap-plugins

我是phonegap的新手,在phonegap中创建一个应用程序,我想将文件上传到远程服务器。当用户点击上传文件图标时,我希望用户重定向到SD卡文件,用户可以选择任何文件图像,视频,文档或文本文件。

以下是我正在使用的代码。我正在尝试过去三天,但无法按需要使其工作。

我想解决的问题

1)包含SD卡中所有文件的对话框,目前只有图像在单击上传图像时可见。

2)允许用户上传任何类型的文件,目前我只能上传图像文件,而且转换为jpg,用户必须能够查看SD卡中的所有文件。

3)一旦用户点击上传图片,图片就会上传到文件夹,一旦用户提交了表格,我希望图片转到远程服务器。

<script>
function getImage() {
        navigator.camera.getPicture(uploadPhoto, function(message) {
            alert('get picture failed');
        }, {
            quality: 100,
            destinationType: navigator.camera.DestinationType.FILE_URI,
            sourceType: navigator.camera.PictureSourceType.CAMERA
            //sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
        });

    }
function onError() {
            alert('fehler resolve file system');
        }
function cameraError() {
            alert('fehler');
        }
function uploadPhoto(imageURI) {
    var options = new FileUploadOptions();
        options.fileKey = "file";
        options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
        options.mimeType = "image/jpeg";
        console.log(options.fileName);
        window.localStorage.setItem("imag",options.fileName);
        var params = new Object();
        params.value1 = "test";
        params.value2 = "param";

        options.params = params;
        options.chunkedMode = false;

        var ft = new FileTransfer();
        ft.upload(imageURI, "{website url}/upload.php", function(result){
            console.log(JSON.stringify(result));
        }, function(error){
            console.log(JSON.stringify(error));
        }, options);

}
</script>

<!----------html-------------!>
<img src="upload-icon.png"  onclick="getImage()">
<!---html end----------------!>

提前感谢您的帮助和时间。

0 个答案:

没有答案