图片上传下载代码命名唯一

本文介绍了一个文件上传功能的实现细节,包括如何检查上传文件的大小是否超过50MB的限制,以及如何验证文件类型是否为允许上传的图片格式。此外,还提供了处理异常情况的方法。


1.   try  

2.         {               

3.              if (context.Request.Files.Count > 0)  

4.             {  

5.                  //判断文件大小    

6.                 int length = context.Request.Files[0].ContentLength;  

7.                  if (length > 52428800)  

8.                 {  

9.                      context.Response.Write("文件大于50M,不能上传");  

10.                    return;  

11.                 }  

12.  

13.                 string type = context.Request.Files[0].ContentType;  

14.                string fileExt = Path.GetExtension(context.Request.Files[0].FileName).ToLower();  

15.                 //只能上传图片,过滤不可上传的文件类型    

16.                string fileFilt = ".gif|.jpg|.php|.jsp|.jpeg|.png|......";  

17.                 if (fileFilt.IndexOf(fileExt) <= -1)  

18.                {  

19.                     context.Response.Write("对不起!请上传图片!!");  

20.                    return;  

21.                 }  

22.                else  

23.                 {  

24.                    Page p = new Page();  

25.                     string fileName = p.Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()  

26.                        + fileExt;  

27.   

28.                    // // 如果是aspx页面,这里直接Server.MapPath...  

29.                     //string fileName = Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()  

30.                    //+fileExt;  

31.                     context.Request.Files[0].SaveAs(fileName);  

32.                    context.Response.Write("上传成功!");  

33.                 }  

34.            }  

35.             else  

36.            {  

37.                 context.Response.Write(context.Request.Files.Count);  

38.            }  

39.         }  

40.        catch (Exception ex)  

41.         {  

42.            throw new Exception(ex.Message);  

43.         }  

 

 

图片输入输出流的上传和下载关键代码 取得HttpServletRequest的InputStream输入流 InputStream is request getInputStream ; 以InputStream输入流为基础 建立一个BufferedReader对象 BufferedReader br new BufferedReader new InputStreamReader is ; String buffer null; 循环读取请求内容的每一行内容 while buffer br readLine null { 如果读到的内容以 开始 且以 结束 表明忆到请求内容的结尾 if buffer endsWith " " &&buffer startsWith " " { 跳出循环 break; } 如果读到的内容以 开始 表明开始了一个表单域 if buffer startsWith " " { 如查下一行内容中有filename字符串 表明这是一个文件域 if br readLine indexOf "filename" > 1 { 跳过两行 开始处理上传的文件内容 br readLine ; br readLine ; 以系统时间为文件名 创建一个新文件 File file new File request getRealPath " " + System currentTimeMillis ; 创建文件输出流 PrintStream ps new PrintStream new FileOutputStream file ; 接着开始读取文件内容 String content null; while content br readLine null { 如果读取的内容以 开始 表明开始了下一个表单域内容 if content startsWith " " { 跳出处理 break; } 否则 将读到的内容输出到文件中 ps println content ; }">图片输入输出流的上传和下载关键代码 取得HttpServletRequest的InputStream输入流 InputStream is request getInputStream ; 以InputStream输入流为基础 建立一个BufferedReader对象 BufferedReader br new BufferedReader new InputStreamReader is ; String buff [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值