【问题标题】:FileTransfer is not defined error in cordova 3.4.0科尔多瓦 3.4.0 中的 FileTransfer 未定义错误
【发布时间】:2014-04-12 05:20:35
【问题描述】:

我正在使用 android 在cordova 3.4.0 中工作。我添加了用于图像上传的 FileTransfer 插件,从库中获取图像并且相机工作正常,但是当尝试上传未上传的图像时,Logcat 中出现错误: processMessage failed: Error: ReferenceError: FileTransfer is not defined at file:///android_asset/www/js/cordova.js:1035 我已经在 config.xml 和 AndroidMainfest.xml 中完成了所有设置

config.xml

 <feature name="File">
    <param name="android-package" value="org.apache.cordova.file.FileUtils" />
    <param name="onload" value="true" />
 </feature>
 <feature name="FileTransfer">
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
 </feature>

AndroidMainfest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

cordova_plugins.js

{
    "file": "plugins/org.apache.cordova.file-transfer/www/FileTransfer.js",
    "id": "org.apache.cordova.file-transfer.FileTransfer",
    "clobbers": [
        "window.FileTransfer"
    ]
},

图片上传代码

var ft = new FileTransfer();                     
var options = new FileUploadOptions();                      
options.fileKey="vImage1";                      
options.fileName=imagefile.substr(imagefile.lastIndexOf('/')+1);
options.mimeType="image/jpeg"; 
var params = new Object();
params.value1 = "test";
params.value2 = "param";                       
options.params = params;
options.chunkedMode = false;                       
ft.upload(imagefile, serviceURL, win, fail, options); 

那么代码有什么问题? .. 提前致谢。

已解决:

我已经解决了这个问题。我在 html 页面中添加了以下插件链接。

<script type="text/javascript" charset="utf-8" src="plugins/org.apache.cordova.file/www/File.js"></script>
<script type="text/javascript" charset="utf-8" src="plugins/org.apache.cordova.file-transfer/www/FileTransfer.js"></script>

【问题讨论】:

    标签: cordova phonegap-plugins file-transfer


    【解决方案1】:

    你好,我不知道你错了

    但是这段代码运行良好

    var options = new FileUploadOptions();
           options.fileKey = "file";
           options.fileName = uploadimageurl.substr(uploadimageurl.lastIndexOf('/') + 1);
    
    
           var params = {};
           params.value1 = "test";
           params.value2 = "param";
    
           options.params = params;
           var url=unlserviceurl+""+uploadarray.fileurl;
           var ft = new FileTransfer();
           ft.upload(uploadimageurl, encodeURI(url), win, fail, options);
    
    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);
    }
    

    试试这段代码

    【讨论】:

    【解决方案2】:

    确定:您是否在项目中添加了 cordova 插件 File 和 Filtransfer?

    【讨论】:

    • 这应该是评论,而不是答案。请等到您有足够的声誉后再发表评论,而不是在“答案”部分发送垃圾邮件。
    猜你喜欢
    • 2016-02-29
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多