强制 <input type="file"> 在移动设备中打开图库

Posted

技术标签:

【中文标题】强制 <input type="file"> 在移动设备中打开图库【英文标题】:Force <input type="file"> to open gallery in mobile 【发布时间】:2017-08-20 15:06:28 【问题描述】:

我想让我的输入只接受来自画廊的文件,而不是允许用户打开相机。 我怎样才能实现它?

ASP.NET

<asp:FileUpload ID="filGallery" runat="server" AllowMultiple="true" />

HTML 5

<input type="file" id="filGallery" multiple="multiple" />

我想要的行为类似于 ios 8 或更低版本中的行为,其中启用多个文件的输入无法打开相机

【问题讨论】:

此链接可能会有所帮助w3schools.com/tags/att_input_accept.asp 我尝试输入accept=".pdf",但它仍然询问我是否要从相机上传 另一个***.com/questions/11832930/… 该问题未涉及移动图库。 【参考方案1】:

只需使用简单的方法在手机中打开图库

  <input type="file" id="fileProfile2" name="fileProfile2"  accept="image/png,image/jpeg">

【讨论】:

这不起作用。您提供的“接受”属性仅说明 png 和 jpeg 是接受的文件类型。 @TrayFleary 它对我有用,请检查你的。 不,它不起作用。接受只是对允许的 mime 类型的限制,但设备正在打开系统弹出窗口并提供选择相机的选项【参考方案2】:

我认为没有办法强制使用图库 - 目前的趋势是更多地使用相机(并建议使用正面或背面)而不是禁用它。

但是,关于 SO(但关注捕获类型)有一个类似的问题,其中回答者指出了您可以尝试的一些输入属性方式:

原SO:https://***.com/a/40512470/2564920

他对手机抓包做过的更详细的测试:https://addpipe.com/blog/correct-syntax-html-media-capture/

您可以试用的测试页面:https://addpipe.com/html-media-capture-demo/

特别是一种设置

<input type="file" accept="image/*" capture="filesystem">

看起来很有希望 - 但可能不起作用(因为不推荐使用此语法,并且新规范中的 capture 属性用于表示您要使用摄像头 - 在前置或后置摄像头之间进行选择 source)

【讨论】:

是的,没用.. 好吧,我希望规格有所改变,有办法做到这一点会很好......无论如何,谢谢,+1

以上是关于强制 <input type="file"> 在移动设备中打开图库的主要内容,如果未能解决你的问题,请参考以下文章

css 如何控制span 强制换行

wdatepicker 日期空间 <input type="text"> 时间改变触发事件不好使怎么办

在 Rails 中使用“f.input 集合”的 onChange 方法

原来样式改变不了(input type="file")

jQuery操作<input type="checkbox">

<input type="file">,输入的信息怎样用jquery获取?