cordova插件-File Transfer

时间:2022-05-06
本文章向大家介绍cordova插件-File Transfer,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  • 添加插件

$ cordova plugin addcordova-plugin-file-transfer

图 15如上则插入成功

  • 插件的使用
  • Methods

l upload: Sendsa file to a server.

l download: Downloadsa file from server.

l abort:Aborts an in-progress transfer.

2. Example

2.  <head>
    <title>Capture Photo</title>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
        //下载图片
        function downloadImage(){

            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {

                alert('打开的文件系统: ' + fs.name);
                var url = 'http://www.hangge.com/blog/images/logo.png';
                fs.root.getFile('hangge.png', { create: true, exclusive: false },
                        function (fileEntry) {
                            download(fileEntry, url);
                        }, onErrorCreateFile);

            }, onErrorLoadFs);
        }

        //下载文件
        function download(fileEntry, uri) {
            var fileTransfer = new FileTransfer();
            var fileURL = fileEntry.toURL();

            fileTransfer.download(
                    uri,
                    fileURL,
                    function (entry) {
                        alert("下载成功!");
                        alert("文件保存位置: " + entry.toURL());
                    },
                    function (error) {
                        alert("下载失败!");
                        alert("error source " + error.source);
                        alert("error target " + error.target);
                        alert("error code" + error.code);
                    },
                    null, // or, pass false
                    {
                        //headers: {
                        //    "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
                        //}
                    }
            );
        }

        //文件创建失败回调
        function  onErrorCreateFile(error){
            alert("文件创建失败!")
        }

        //FileSystem加载失败回调
        function  onErrorLoadFs(error){
            alert("文件系统加载失败!")
        }
    </script>
    <script type="text/javascript" charset="utf-8">
        //上传图片
        function uploadImage(){
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {

                alert('打开的文件系统: ' + fs.name);
                fs.root.getFile('hangge.png', { create: true, exclusive: false },
                        function (fileEntry) {
                            upload(fileEntry);
                        }, onErrorCreateFile);

            }, onErrorLoadFs);
        }

        //上传文件
        function upload(fileEntry) {
            //获取文件的url路径地址
            var fileURL = fileEntry.toURL();

            //上传成功
            var success = function (r) {
                alert("上传成功! Code = " + r.responseCode);
            }

            //上传失败
            var fail = function (error) {
                alert("上传失败! Code = " + error.code);
            }

            var options = new FileUploadOptions();
            options.fileKey = "file1";
            options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
            options.mimeType = "text/plain";

            //上传参数
            var params = {

            };
            params.value1 = "HX0001";
            params.value2 = "0000010622";
            params.value3="G1000"
            options.params = params;

            var ft = new FileTransfer();
            //上传地址
            var SERVER = "http://192.168.0.215:9081/service/TransServlet"
            ft.upload(fileURL, encodeURI(SERVER), success, fail, options);
        };

        //文件创建失败回调
        function  onErrorCreateFile(error){
            alert("文件创建失败!")
        }

        //FileSystem加载失败回调
        function  onErrorLoadFs(error){
            alert("文件系统加载失败!")
        }
    </script>
</head>
<body style="padding-top:50px">
<button style="font-size:23px;" onclick="downloadImage();">下载图片</button><br>
<button style="font-size:23px;" onclick="uploadImage();">上传图片</button><br>
<button onclick="javascript:history.back(-1)">返回上一页</button>

</body>