使用input type = file拍摄照片时,移动版Safari崩溃了。

7

我正在使用 input type file 在 iOS 中启动相机。我正在使用以下代码:

 <input type="file" name="select a Picture"/>

当我按下按钮时,会显示两个选项,即1)拍照 2)从相册选择。如果我选择“从相册选择”选项,则会启动本地相册,当我从相册中选择图片后,可以在预览中看到它,所以从相册中选择正常工作。
但是使用相机拍照时存在问题。当我按下拍照按钮时,它会启动相机,但在拍摄照片后,它会直接返回到Safari。并且会弹出以下错误提示:
A problem occurred with this webpage so it was reloaded 

那么如何克服这个问题呢?

尝试重置网络设置并清除Safari的历史记录和缓存。希望对您有用。 - Er.Shreyansh Shah
1
是的,现在它正在工作,我什么也没做,但它现在正在工作 :) - V-Xtreme
1
我已经向苹果提交了以下关于此问题的错误报告(radar):http://www.openradar.me/radar?id=5006458726907904 - codeperson
2个回答

9
在我的情况下,添加一个name=""属性可以解决问题。我原本的代码是:
<input id="uploadPhotoInput" type="file" capture="camera" accept="image/*">

它每次都崩溃了。将其改为:

<input id="uploadPhotoInput" name="uploadPhotoInput" type="file" capture="camera" accept="image/*">

似乎已解决问题。我不知道为什么,因为我没有在表单中提交它,但就是这样。


这个技巧对我也起作用了,但我也不知道原因。可能是iOS的一个bug吗? - Linh Dam
1
确认现代设备仍然适用,并且此解决方案有效。 - cherouvim

0
尝试以下操作:
<input type="file" accept="image/*" capture="camera">

还有,如果你的输入标签中有任何 onchange="xxxxxxx" 的内容,请将其删除,因为不知何故它会在 iOS8 上引起问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接