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不起作用,的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用 Phonegap 将图像转换为 Base64 字符串
使用 FormData 上传 JavaScript Blob
如果在 iOS 和 Android 上的 Web 应用程序中使用 FormData 发送文件,则转换为 [Object object] 字符串