- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在 JBoss 6.1 中运行的 JSF 应用程序,它使用内部Tomcat Servlet 容器。
我已经通过apache commons文件上传实现了上传。我想防止上传过大的文件并设置了属性
为 10MB。可以用了,文件FileUploadBase
类中的 fileSizeMax
对于所有大于此值的文件,上传会抛出 FileSizeLimitExceededException
10MB。此异常会在不到一秒的时间内抛出。
但主要问题是,整个文件将通过
网络。我通过检查网络流量发现了这一点。然后重定向到错误页面就完成了。
超过最大大小时如何中断文件传输
而不传输整个文件?我假设该文件将是
由于 Web 表单属性 enctype,在多个包中传输
。
="multipart/form-data"
最佳答案
您无法中途中止 HTTP 请求。如果您这样做,您将无法返回 HTTP 响应,并且客户端最终不会得到任何形式的反馈,可能会出现浏览器特定的“连接已被对等方重置”错误页面。
最好的办法是事先在 JavaScript 中验证它。顺便说一句,这只适用于 browsers supporting HTML5 File
API 。您没有透露您正在使用哪个 JSF 文件上传组件,所以我的印象是您只是自制了一个,所以我将给出一个适用于呈现的 HTML 的通用答案 <input type="file">
(请注意,它在例如 Tomahawk's <t:inputFileUpload>
上同样有效):
<input type="file" ... onchange="checkFileSize(this)" />
像这样的东西
function checkFileSize(inputFile) {
var max = 10 * 1024 * 1024; // 10MB
if (inputFile.files && inputFile.files[0].size > max) {
alert("File too large."); // Do your thing to handle the error.
inputFile.value = null; // Clears the field.
}
}
如果旧版浏览器不支持此功能,那么您就迷路了。您最好的选择是 Flash 或 Applet。
关于java - 超过 FileSizeMax 时取消文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14523632/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!