Phonegap ios图像上传为formdata不起作用,

Posted

技术标签:

【中文标题】Phonegap ios图像上传为formdata不起作用,【英文标题】:Phonegap ios image upload as formdata not working, 【发布时间】:2016-10-01 07:34:57 【问题描述】:

在我的Phonegap应用程序ios图片上传有一段时间不工作,不知道上传的确切原因, 在这里,我将图像作为表单数据上传, 前代码 - 要从照片中获取图片,

<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】:

TLDR:Append 在 Safari iOS 中不起作用。

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

在此处查看兼容性列表: https://developer.mozilla.org/en-US/docs/Web/API/FormData

我通过将我的字段放在一个表单中并将整个表单传递为:new FormData(form) 解决了这个问题。

【讨论】:

谢谢。花了我几天时间 - 我认为这是 aurelia 的一个奇怪错误,我从来没有遇到错误或任何有用的东西。

以上是关于Phonegap ios图像上传为formdata不起作用,的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap:在单个请求中上传多个图像

上传多个图像不会添加到FormData

使用 dio formdata 上传图像颤动网络

在 iOS 上使用 Phonegap 将图像转换为 Base64 字符串

使用 FormData 上传 JavaScript Blob

如果在 iOS 和 Android 上的 Web 应用程序中使用 FormData 发送文件,则转换为 [Object object] 字符串