前台js

  1. <script type="text/javascript">
  2. window.onload = function () {
  3. document.getElementById('add').onclick = function () {
  4. var file1 = document.getElementById('file1');
  5. if (file1.value == "") {
  6. return;
  7. }
  8. var ext = /\.[^\.]+$/.exec(file1.value.toLowerCase());
  9. if (ext == '.jpeg' || ext == '.jpg' || ext == '.bmp') {
  10. return;
  11. }
  12. else {
  13. alert('上传文件格式错误!');
  14. return false;
  15. }
  16. }
  17. };
  18. </script>

前台aspx

  1. <form id="form1" action="AddNews.aspx" method="post" enctype="multipart/form-data">
  2. 图片:<input type="file" name="imgFile" id="file1" />
  3. <input id="add" type="submit" value="提交" />

后台

  1. string image;
  2. string smallImage;
  3. HttpPostedFile file = Request.Files["imgFile"]; //默认4M大小以内,超出延迟无法跳转。
  4. UploadPic(file, out image, out smallImage);
  5.  
  6. private bool UploadPic(HttpPostedFile file, out string image, out string smallImage)
  7. {
  8. image = "";
  9. smallImage = "";
  10. if (file != null)
  11. {
  12. //获取文件扩展名
  13. string ext = System.IO.Path.GetExtension(file.FileName);
  14. //上传文件类型判断
  15. if ((ext == ".jpg" || ext == ".jpeg" || ext == ".bmp" || ext == ".png") && file.ContentType.StartsWith("image"))
  16. {
  17. //通过字符串哈希码,创建多层目录随机保存路径。
  18. string guid = Guid.NewGuid().ToString();
  19. int ram = guid.GetHashCode();
  20. int dirA = ram & 0xf; //0xf '1111' 整数15
  21. int dirB = (ram >> ) & 0xf; //ram 右移4位
  22. int dirC = (ram >> ) & 0xf; //ram 右移8位
  23. //path 文件目录
  24. string bigPic = string.Format("Upload/BigPic/{0}/{1}/{2}/", dirA.ToString(), dirB.ToString(), dirC.ToString());
  25. string smallPic = string.Format("Upload/SmallPic/{0}/{1}/{2}/", dirA.ToString(), dirB.ToString(), dirC.ToString());
  26. //out参数 设值 保存图片路径
  27. image = System.IO.Path.Combine(bigPic, guid + "_" + file.FileName);
  28. smallImage = System.IO.Path.Combine(smallPic, guid + "_small" + file.FileName);
  29. //创建目录
  30. System.IO.Directory.CreateDirectory(Server.MapPath(bigPic));
  31. System.IO.Directory.CreateDirectory(Server.MapPath(smallPic));
  32. //创建缩略图
  33. Image img = Image.FromStream(file.InputStream);
  34. Image smallImg = new Bitmap(, * img.Height / img.Width);
  35. Graphics g = Graphics.FromImage(smallImg);
  36. g.DrawImage(img, , , smallImg.Width, smallImg.Height);
  37.  
  38. //保存文件
  39. file.SaveAs(System.IO.Path.Combine(Server.MapPath("~/NewsAdmin/"), image));
  40. smallImg.Save(System.IO.Path.Combine(Server.MapPath("~/NewsAdmin/"), smallImage));
  41. }
  42. else
  43. {
  44. return false;
  45. }
  46. }
  47. return true;
  48. }

asp.net 文件上传的更多相关文章

  1. asp.net 文件上传示例整理

    ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录.  代码如下 复制代码 ...

  2. IIS7.5修改asp的文件上传限制方法

    第一.IIS7.5修改asp的文件上传限制方法 1.打开IIS 2.打开面板中的应用程序开发 asp 3.找到最后的限制属性 4.修改其中的最大请求实体主体限制的值:默认为200000字节,等于195 ...

  3. asp.net文件上传进度条研究

    文章:asp.net 文件上传进度条实现代码

  4. Cookie操作、ASP.Net文件上传HttpPostedFile

    概述 Cookie用来保存客户浏览器请求服务器页面的请求信息. 我们可以存放非敏感的用户信息,保存时间可以根据需要设置.如果没有设置Cookie失效日期,它的生命周期保存到关闭浏览器为止,Cookie ...

  5. [转载]windows 7 IIS 7.5 ASP.Net 文件上传大小限制

    原文出处: 原文作者:云中岳 原文链接:http://www.cnblogs.com/netlover/archive/2011/07/08/Win7_IIS_Upload.html IS 7 默认文 ...

  6. 你以为的ASP.NET文件上传大小限制是你以为的吗

    我们以为的文件大小限制 我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web.confi ...

  7. ASP.NET文件上传大小的限制解决方案

    我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web.config中的httpRunti ...

  8. 2014.12.13 ASP.NET文件上传

    一.文件上传:(一)上传到硬盘文件夹1.最简单的上传. [HTML代码] <asp:FileUpload ID="FileUpload1" runat="serve ...

  9. ASP中文件上传组件ASPUpload介绍和使用方法

    [导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上 ...

  10. ASP.NET文件上传和下载

    大学最近作出相关的需求进行上传和下载文件的网站(求为:站点发布的通知,在后台要能给每一个通知加入附件.在前台要能显示并下载附件),之前仅仅是学习过关于上传的 理论知识,这里实践了一下下,与大家分享一下 ...

随机推荐

  1. Spring MVC表单提交中文数据出现乱码

    http://jiessiedyh.iteye.com/blog/475541 http://bigcat.easymorse.com/?p=474 Spring MVC 教程,快速入门,深入分析 h ...

  2. TextFlow with JavaFX 2

    http://sahits.ch/blog/?p=2372 ———————————————————————————————————————————————————— TextFlow with Jav ...

  3. 在虚拟机VMware Workstation上安装win7系统

    之前讲过虚拟机的安装过程,虚拟机安装完成之后,就需要在虚拟机上安装操作系统了,这次就讲讲怎么在虚拟机上安装操作系统. 工具/原料   VMware Workstation win7系统盘 iso格式 ...

  4. 在EntityFramework(EF)中删除主从表记录

    删除主表:  如果要删除单个的Book对象,由于启用了级联删除,干掉一个Book,它所关联的所有BookReview也一并删除了. (说的简单,如果用Attach方法或者Remove,加修改删除状态, ...

  5. 初涉Quartz

    1.首先需要导入包,必须导入的包如下:      quartz-1.8.5.jar  commons-logging.jar  spring-core-3.0.5.RELEASE.jar  sprin ...

  6. python3----函数(join)

    今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3 一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用fo ...

  7. 第11章 Docker Registry 相关问题

    11.1 我 docker push 的时候怎么报 authentication required 错误? 因为你没有登录.如果是向 Docker Hub 推送镜像,需要在注册一个用户: https: ...

  8. Jmeter与LoadRunner 测试Java项目的坑

    32位的JDK,Jmeter.bat 最大内存只能配置1G,测不了大并发,所以用Jmeter测试时一定要改成64位的Jmeter用LR测试java程序的时候必须用32位的JDK 环境变量 在path的 ...

  9. wxPython安装使用

    https://wiki.wxpython.org/How to install wxPython pip install -U wxPython 验证版本 D:\python>python P ...

  10. IIPP迷你项目(四)"Pong"

    1 小球在墙面的反弹 1-1 让小球在画布上匀速运动 在这一步中,首先应该明确小球是如何匀速运动的.它的方法是规定一个列表v,Scott老师说这代表着“速度(Velocity)”,但是我觉得也可以拿“ ...