Phonegap ios图片上传为formdata无法正常工作,

时间:2016-10-01 07:34:58

标签: javascript ios angularjs cordova

在我的Phonegap应用程序中,ios图片上传暂时无效,不知道上传的确切原因, 在这里,我将图像上传为formdata, 前代码 - 要从照片中获取照片,

<input id="uploadImage" type="file" name="attachment" onchange="angular.element(this).scope().uploadFile(this.files)"/>
<button type="submit" class="ui-btn ui-btn-b" ng-click="post()"> Upload file</button>

JS编码 - //调用上传文件方法

$scope.uploadFile = function(files)
{
   var fd = new FormData();
   //Take the first selected file
   fd.append("attachment", files[0]);
   $localStorage.fd = fd;
};

$scope.post=function()
 {
    var fd=$localStorage.fd;
    $http.post(httpurl, fd,
       {
         headers: {'Content-Type': undefined },
         transformRequest: angular.identity
        })
    .success(function (res) {
    alert("Image upload successfully");
    })
    .error(function(res){
    alert("Image not uploaded");
})

现在问题是,图像有时上传而不知道实际问题。我试图发布相同的图片上传,但它反映了同样的问题。 请分享您的反馈以解决我的问题。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

TLDR:附加功能在Safari iOS中无效。

我有类似的问题困扰了我好几天。 然后我发现一些FormData函数在许多浏览器中都不兼容,包括Safari iOS。

请参阅此处的兼容性列表: https://developer.mozilla.org/en-US/docs/Web/API/FormData

我通过在表单中​​填写字段并将整个表单传递为:new FormData(表单)来解决问题。