phonegap:上传没有标题信息的图片

时间:2012-05-21 16:10:35

标签: android file cordova upload header

我使用以下代码从android avd上传图片。

        var options = new FileUploadOptions();
        options.fileKey="file";
        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
        options.mimeType="text/plain";
        var filename = imageURI.substr(imageURI.lastIndexOf('/')+1);
        var upload_url="http://example.com";
        alert(upload_url);
        alert(filename);

        var params = new Object();
        params.value1 = "test";
        params.value2 = "param";

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

        var ft = new FileTransfer();
        ft.upload(imageURI, upload_url, picUploadSuccess, picUploadFailed,options);

但是这段代码会在文件中添加额外的标题信息。喜欢以下 - 的 * 内容处理:表格数据; NAME = “VALUE1”;

测试 - 的 * 内容处理:表格数据; NAME = “VALUE2”;

PARAM - 的 * 内容处理:表格数据; NAME = “文件”;文件名= “1.JPG” 内容类型:image / jpeg

因此,当文件存储到服务器中时,它无法打开为JPEG Image。 我发现options对象负责添加那些额外的头信息。 我通过赋值null尝试没有选项对象。但仍然没有额外的信息进入文件。

期待在文件中没有任何额外信息的情况下上传文件的建议。

2 个答案:

答案 0 :(得分:0)

options.mimeType="text/jpeg";

答案 1 :(得分:0)

好吧,如果你拿出这些线:

var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
你不会看到:

--* Content-Disposition: form-data; name="value1"; test 
--* Content-Disposition: form-data; name="value2"; param

了。但是你仍会看到:

--* Content-Disposition: form-data; name="file"; filename="1.jpg" Content-Type: image/jpeg

因为Web服务器需要知道如何处理传入的文件。我相信Web服务器端的问题就是接收文件的脚本。