|
本帖最后由 Landroid 于 2012-4-8 01:11 编辑
版本
ExtAspNet 3.1.2
chrome
问题描述
上传图片时,想对图片的大小进行限制,利用System.IO.FileInfo 的Length获取图片文件大小,但是在chrome中,FileUpload的FileName不包含完整路径,图片路径变为C:\fakepath\....,FileName的值只能取到XXX.png,IE9下正常
同时,在chrome浏览器中,点击保存按钮以后,即灰显,不可再次点击,消息弹出框不响应
测试截图见二楼
----------------------------------------------
参考dim_$lift 在http://bbs.extasp.net/forum.php?mod=viewthread&tid=372 中的代码,做了进一步完善
实现功能: 文件类型验证、文件大小限制、文件上传
首先,在web.config中添加上传文件大小配置字节,这里举例2M- <appSettings>
- <add key="maxlength" value="2097152"/>
- </appSettings>
复制代码 和- <httpRuntime executionTimeout="3600" maxRequestLength="2097152"/>
复制代码 然后添加上传,限制图片类型为jpg,jpeg,png,gif,bmp,可以自己修改。- //文件上传
- private void fileUpload(ExtAspNet.FileUpload file)
- {
- bool fileOK = false;
- if (!string.IsNullOrEmpty(file.FileName))
- {
- string fileName = System.IO.Path.GetFileName(file.FileName);
- string fileCode = DateTime.Now.Ticks.ToString();
-
- if (file.HasFile)
- {
- String fileExtension = System.IO.Path.GetExtension(file.FileName).ToLower();//将指定字符串扩展名转换为小写
- String[] allowedExtensions = { ".jpg",".jpeg", ".png", ".gif",".bmp" };//允许的文件类型
- for (int i = 0; i < allowedExtensions.Length; i++)
- {
- if (fileExtension == allowedExtensions[i])
- {
- fileOK = true;
- break;
- }
- }
- try
- {
- //测试
- System.IO.FileInfo f = new System.IO.FileInfo("C:\\Users\\Administrator\\Desktop\\1.png");
复制代码 |
|