可通过下面的方式
html代码: js代码:
var fileId = "uploadtest"
var dom = document.getElementById(fileId)
var fileSize = dom.files[0].size//文件的大小,单位为字节B
有两种方式1. 设置 php.ini 中的 upload_max_filesize 值, 如果文件大小超过这个值, PHP生成上传文件错误 UPLOAD_ERR_INI_SIZE ($_FILES[\'xxx\'][\'error\'])2. 在from中添加 [i] 字大皮段, 如果文件大小超过这个值, PHP生成上传文件错误 UPLOAD_ERR_FORM_SIZEMAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上租丛它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最滚型差好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。一般会在你的上传action再配置一个拦截器,例如:<action name="uploadBatchDatas" method="uploadBatchDatas" class="DataAction" >
<interceptor-ref name="fileUpload">
<!-- 文件过滤 -->
<拆迹param name="allowedTypes">text/plain</param>
<!-- 文局尺件大小, 以字节桐御高为单位 -->
<param name="maximumSize">2097152</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="success">/datamanage/batch-datas-upload.jsp</result>
</action>
这个maximumSize是你的文件的大小,这个大小不能大于constant里面的值,也就是说,这个是只针对这一个action的,而constant中的是全部文件的,
当文件上传的时候,会先经过拦截器,拦截器会根据我们设置的这些param去判断是否符合,如果不符合会直接给出英文版的提示加到erraction中,而不往下进行了,直接进不去你的action了,所以你想友好提示,1)自己写拦截器,2)修改现有的类,改成中文提示,3)使用其它的上传jar,听说有个cos的,你可以查一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)