注:asp.net默认允许上传为4096,即4MB
如果想要传更大的,要在web.config 的system.web节点里加上
<httpRuntime maxRequestLength="10240" executionTimeout="3"/>这就可以最大允许传10MB了
第一种
以上例子做法的弊端,假设上传文件是.wma文件,把扩展名改成.jpg文件那么将不能被识别,依然能够上传.
解决方法:通过读取文件的二进制,每种文件的二进制前面两个字节都是不一样的,不同的文件扩展名它的
二进制前面两个字节是不同的.我们可以通过这种方式来检测文件的扩展名.如:.jpg文件前两个字节是:255216
.gif文件前两个字节是:7173,6677是BMP,13780是PNG;7790是exe,8297是rar.
上传文件名相同,文件将被覆盖,我们要对文件名的唯一性处理该怎么办呢?
上传文件名唯一性的处理:
1.利用时间戳
2.利用GUID(全局统一标识符)
GUID的介绍可以参考;http://jhxk.javaeye.com/admin/blogs/393195
读取文件的二进制并且对文件名的唯一性做处理: