【问题标题】:After select file check that user change file name before upload选择文件后检查用户在上传前更改文件名
【发布时间】:2015-11-22 14:11:20
【问题描述】:

假设我想将 csv 文件上传到 PHP。我在 Chrome 中注意到,如果我在文件选择框中选择“test.csv”, 如果我在本地将文件重命名为“test1.csv”, 然后在将表单提交给 PHP 时,我看到一个错误页面:

ERR_FILE_NOT_FOUND

我想捕获此错误并改为显示友好的错误消息。

【问题讨论】:

  • 请解释您所说的“首先我选择了一些 csv 文件进行上传,然后在上传之前我更改了该文件的重命名。”您是否在将表单提交给 PHP 之前重命名了您在 HTML 表单中选择的文件?请向我们展示一些代码,以便我们可以使用。也许我们可以解释你做错了什么。
  • 我的意思是首先我从我的桌面选择一个 csv 文件名作为“test.csv”来上传,但我没有点击上传按钮。然后我在我的桌面上将该选择的 csv 文件重命名为“test1.csv”,然后我单击上传按钮并在谷歌浏览器中找到了这条消息“ERR_FILE_NOT_FOUND”。我想成为我想显示此消息“您的文件不存在于您选择的位置”。
  • 所以换句话说,你故意造成这个错误,出于测试目的,通过重命名桌面上的文件,使你的应用程序在罕见的情况下更稳定,并想编写一些 PHP 代码是否能够测试此错误以制作一个漂亮的错误页面来通知用户他们试图上传一个不存在的文件?您是使用 jQuery 来处理上传,还是使用纯 HTML?
  • 是的,我使用的是纯 HTML。

标签: php jquery google-chrome web


【解决方案1】:

您描述的问题与 PHP 或 jQuery 无关。我已将您描述的问题归结为:

<form action="http://www.google.com" method="POST" enctype="multipart/form-data">
<p>Select a file, for example z.txt, then before clicking submit,
rename the file locally so the file picked is invalid, such as zz.txt,
then submit to get an error in chrome.</p>
<input type="file" name="myFile">
<input type="submit" />
</form>

是的,表单发送到哪里都没有关系。如果文件在尝试发送之前不存在,Chrome 会出错。然而,Firefox 会像往常一样提交表单。这是铬的问题。但是,您可以调整 chrome 以隐藏网络消息:
Suppress "Failed to load resource: net::ERR_FILE_NOT_FOUND" in Chrome Packaged App

【讨论】:

    猜你喜欢
    • 2016-03-22
    • 2021-12-23
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2016-02-15
    • 2013-07-10
    • 2015-04-21
    相关资源
    最近更新 更多