.Net MVC 图片上传

该案例是mvc下的demo,支持单张图片上传。

 1 public ActionResult Upload()
 2         {
 3             string imgurl = "";
 4             foreach (string key in Request.Files)
 5             {
 6                 //这里只测试上传第一张图片file[0]
 7                 HttpPostedFileBase file0 = Request.Files[key];
 8
 9                 //转换成byte,读取图片MIME类型
10                 Stream stream;
11                 int size = file0.ContentLength / 1024; //文件大小KB
12
13                 if (size > 1024)
14                 {
15                     return Content(ReturnMsg(Enum_Return.失败, "图片不能超过1M:", null));
16                 }
17
18                 byte[] fileByte = new byte[2];//contentLength,这里我们只读取文件长度的前两位用于判断就好了,这样速度比较快,剩下的也用不到。
19                 stream = file0.InputStream;
20                 stream.Read(fileByte, 0, 2);//contentLength,还是取前两位
21
22                 //获取图片宽和高
23                 //System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
24                 //int width = image.Width;
25                 //int height = image.Height;
26
27
28                 string fileFlag = "";
29                 if (fileByte != null && fileByte.Length > 0)//图片数据是否为空
30                 {
31                     fileFlag = fileByte[0].ToString()   fileByte[1].ToString();
32                 }
33                 string[] fileTypeStr = { "255216", "7173", "6677", "13780" };//对应的图片格式jpg,gif,bmp,png
34                 if (fileTypeStr.Contains(fileFlag))
35                 {
36                     string action = Request["action"];
37                     string path = "/uploads/";
38                     switch (action)
39                     {
40                         case "headimage":
41                             path    = "headimage/";
42                             break;
43                         case "blogtype":
44                             path    = "blogtype/";
45                             break;
46                     }
47                     string fullpath = path    UserInfo.userID    "/";
48                     if (!Directory.Exists(Server.MapPath(fullpath)))
49                     {
50                         Directory.CreateDirectory(Server.MapPath(fullpath));
51                     }
52
53
54                     Request.Files[key].SaveAs(Server.MapPath(fullpath   Request.Files[key].FileName));
55                     imgurl = fullpath    Request.Files[key].FileName;
56                 }
57                 else
58                 {
59                     return Content(ReturnMsg(Enum_Return.失败, "图片格式不正确:"  fileFlag, null));
60                 }
61
62                 stream.Close();
63             }
64
65             return Content(ReturnMsg(Enum_Return.成功, "上传成功", imgurl));
66         }

一般处理程序

public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        HttpPostedFile _upfile = context.Request.Files["File"];
        if (_upfile.ContentLength < 500000)
        {
            if (string.IsNullOrEmpty(_upfile.FileName))
            {
                 context.Response.Write("请上传图片");
            }
            string fileFullname = _upfile.FileName;
            string dataName = DateTime.Now.ToString("yyyyMMddhhmmss");
            string fileName = fileFullname.Substring(fileFullname.LastIndexOf("\\")    1);
            string type = fileFullname.Substring(fileFullname.LastIndexOf(".")    1);
            if (type == "bmp" || type == "jpg" || type == "gif" || type == "JPG" || type == "BMP" || type == "GIF")
            {
                _upfile.SaveAs(HttpContext.Current.Server.MapPath("photo")   "\\"    dataName    "."    type);
                HttpCookie cookie = new HttpCookie("photo");
                context.Response.Write("上传成功");
            }
            else
            {
                context.Response.Write("支持格式:|jpg|gif|bmp|");
            }
        }
        else
        {
            context.Response.Write("你的图片已经超过500K的大小!");
        }
    }

原文地址:https://www.cnblogs.com/bysx/p/8570659.html

时间: 2024-11-08 21:05:53

.Net MVC 图片上传的相关文章

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b

MVC图片上传并显示缩略图

前面已经说了怎么通过MVC来上传文件,那么这次就说说如何上传图片然后显示缩略图,这个的实用性还是比较大.用UpLoad文件夹来保存上传的图片,而Temp文件夹来保存缩略图,前面文件上传部分就不再重复了,不过图片上传当然只能是图片格式的文件,因此在之前那篇博客中 通过控制格式的上传便能防止恶意上传,这个是文件上传的教程链接:http://www.cnblogs.com/xmfdsh/p/3988868.html 对于数据库的设计的话就随便点: 于是用EF便自动生成了类如下: public part

ASP.NET MVC图片上传

工具:ssi-uploader $('#id').ssi_uploader({ url: 'path' }); public ActionResult path() { HttpPostedFileBase file = Request.Files[0]; string savePath = AppDomain.CurrentDomain.BaseDirectory + ""+file.FileName; file.SaveAs(savePath); }

ASP.NET MVC图片上传前预览

@{ ViewBag.Title = "Picture"; } <!DOCTYPE html> <html> <head> <script src='@Url.Content("~/assets/plugins/jquery-1.10.2.min.js")' type="text/javascript"></script> <script type="text/javas

java图片上传(mvc)

最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.idea开发. 一.图片上传还是使用的这款jq插件.前端部署这款插件,不用说了吧.效果图       二.前台代码只需要盖一个位置.因为是比较好用的插件.插件样式自行修改. 三.后台代码. 后面看不见的. 这个图片上传主要是自己写了几个函数.让图片储存更加方便.分成了年月日储存.但是后期遍历比较困难,

Asp.Net Mvc 使用WebUploader 多图片上传

来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是一次只能传一张.由于现在 项目用的是MVC,像Asp那样 拖控件 是不现实了.在我脑海中立刻就浮现出一个想法,网上一定有插件,哈哈.去网上一搜索,哇哦这么多.在众多的插件中我被百度的WebUploader吸引了.官网上写着:"WebUploader是由Baidu WebFE(FEX)团队开发的一个简

在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片

在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文件上传,在chrome, firefox下运行良好,但在某些版本的IE浏览器(比如IE8,IE9)下却无法正常运行,这可能是因为JSAjaxFileUploader插件在编写时没有考虑到某些低版本IE浏览器导致的.本篇,就在ASP.NET MVC4下实现单个图片上传,具体功能包括: 1.在客户端选择图片,并限

Spring MVC多图片上传,多值上传

servlet-context.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.spr