Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在“文件”对话框中显示应用的文件类型筛选器的自定义文本,以上载特定类别的文件_Html_File_File Upload - Fatal编程技术网

Html 在“文件”对话框中显示应用的文件类型筛选器的自定义文本,以上载特定类别的文件

Html 在“文件”对话框中显示应用的文件类型筛选器的自定义文本,以上载特定类别的文件,html,file,file-upload,Html,File,File Upload,以下内容将允许用户仅选择指定类别的图像文件 <input id="file" type="file" name="file" size="30" accept="image/jpg,image/png,image/jpeg,image/gif" /> 但是,问题是,它会在文件对话框中显示“自定义文件”作为文件描述,这会让用户混淆他们应该选择什么类型的文件 我的问题是:有没有更好的方法可以将文本“自定义文件”修改为“图像文件” 注意:如果我提供的“image/*

以下内容将允许用户仅选择指定类别的图像文件

<input id="file" type="file" name="file" size="30" 
       accept="image/jpg,image/png,image/jpeg,image/gif"
/>

但是,问题是,它会在文件对话框中显示“自定义文件”作为文件描述,这会让用户混淆他们应该选择什么类型的文件

我的问题是:有没有更好的方法可以将文本“自定义文件”修改为“图像文件”

注意:如果我提供的“image/*”将在文件描述中显示“image Files”,但我不想让用户选择所有类型的图像文件,只想限制为指定的格式

提前感谢您的意见。

简短的回答 正如我预料的那样,这是不可能的。
是最受保护的浏览器元素之一,因此周围的浏览器元素适应性最低。浏览器如此小心地处理文件输入的原因是他们不想让攻击者冒险访问您的文件(即使看到您的文件夹结构也会很糟糕)

长话短说 您可能无法自由更改筛选器框中可见的文本,但这是有希望的。事实上,在某些情况下,可以选择出现的文本。一个很大的缺点是,它完全不兼容浏览器,可能也不兼容操作系统

另一个原因是浏览器允许编辑该文本可能不是一个好主意,它可能被用来误导用户(例如,像
我们正在看你
致命WINDOWS错误
这样的文本可能会吓到用户)。此外,它不应该,但可能会导致用户试图在现场运行某种C代码,授予他们机器访问权限,从而可能以灾难性的方式损害您的计算机

上面我说过,在某种程度上可以更改可见的过滤器文本。下面我将处理一些我尝试过的事情,但请不要犹豫,在我为测试目的创建的代码笔上亲自尝试一下:

其他我没有测试过的文件类型的可能灵感(请随意编辑本文):

选择我认为可以产生有趣结果的文件接受参数:application/msword、application/rtf、application/octet stream、application/octet stream exe、application/zip、text/css、text/html、text/plain

值得注意的结论
  • 所有三种浏览器在与
    图像/*
    视频/*
    音频/*
  • Internet explorer是唯一能够理解
    视频/x-msvideo avi
  • Firefox和chrome通过自定义过滤文本理解应用程序/pdf,但IE不理解
  • Chrome是唯一一款能够理解
    文本/*
    的浏览器,它为
    .exe
  • 在浏览器中,自定义筛选标题绝对不适用于组合接受输入
未经调查的道路 对于flash上传者来说,这个文本可能是可定制的,但我对此深表怀疑。另外,flash已经被弃用了,所以在我看来它不值得一试


实验结果 免责声明:下面使用的示例在Windows 7计算机上运行,使用Internet Explorer v11.0.9600、Chrome v51.0.2704.84m和Firefox v46.0.1。我不能保证它们代表其他操作系统、其他浏览器版本甚至相同浏览器版本的正确信息。小心使用此信息


Internet explorer 音频/*

应用程序/*

应用程序/pdf

Image/*

Text/*

视频/*

视频/x-msvideo avi

.exe

图像/*,视频/*

Image/*,.exe


音频/*

应用程序/*

应用程序/pdf

Image/*

Text/*

视频/*

视频/x-msvideo avi

.exe

图像/*,视频/*

Image/*,.exe


Mozilla Firefox 音频/*

应用程序/*

应用程序/pdf

Image/*

Text/*

视频/*

视频/x-msvideo avi

.exe

图像/*,视频/*

Image/*,.exe


研究得很好,确实对处于我这种处境的人很有帮助。非常感谢分享!