【问题标题】:phonegap: upload picture without header informationphonegap:上传不带标题信息的图片
【发布时间】:2012-05-28 03:49:21
【问题描述】:

我正在使用以下代码从 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";

测试 --* 内容处置:表单数据;名称="value2";

参数 --* 内容处置:表单数据;名称=“文件”;文件名="1.jpg" 内容类型:image/jpeg

因此当文件存储到服务器时,它不能作为JPEG图像打开。 我发现选项对象负责添加那些额外的标头信息。 我通过分配 null 尝试不使用选项对象。但文件中仍然没有额外的信息。

期待上传文件的建议,文件中没有任何额外信息。

【问题讨论】:

    标签: android file cordova upload header


    【解决方案1】:

    试试

    options.mimeType="text/jpeg";
    

    【讨论】:

      【解决方案2】:

      如果你去掉这些行:

      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 服务器端,即接收文件的脚本。

      【讨论】:

      • 嗨,西蒙,感谢您的回复。是的,您对默认标题的看法是正确的。能否请给我更具体的网络服务器端解决方案。我正在使用 WCF Rest 网络服务。
      • 您不应使用 FileTransfer.upload 将文件发送到 REST 服务。 FileTransfer 期望您进行表单提交而不是 REST。我从未使用过 WCF,但您似乎需要改为使用 AJAX 发布。
      猜你喜欢
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多