这是在Control里使用的代码,是在后台管理需要上传图片时使用的,不过我在这犯了一个错误, Request.Files[inputName];inputName名字中的大小写
<input type="file" name="image">应该与model里的字段的名字一致
if (Request.RequestType == "POST")
            {
                foreach (string inputName in Request.Files.AllKeys)
                {
                    HttpPostedFileBase file = Request.Files[inputName];
                    //存入文件
                    if (file.ContentLength > 0)
                    {
                        PropertyInfo pro = model.GetType().GetProperty(inputName);
                        string proValue = (string)pro.GetValue(model, null);
                        if (!string.IsNullOrWhiteSpace(proValue))
                        {
                            Common.FileUpload.DeleteFile(proValue);

}
                        string fileName = Common.FileUpload.UploadFile(file);
                        pro.SetValue(model, fileName, null);
                    }
                }
}

public static string UploadFile(HttpPostedFileBase file)
        {

// Check if we have a file

if (null == file) return "";

// Make sure the file has content

if (!(file.ContentLength > 0)) return "";

string fileName = file.FileName;

string fileExt = Path.GetExtension(file.FileName);

// Make sure we were able to determine a proper

// extension

if (null == fileExt) return "";
            char DirSeparator = '/';
            string FilesPath = string.Format("{0}team{0}{1}{0}{2}{3}{0}", DirSeparator, DateTime.Now.Year, DateTime.Now.Month.ToString().PadLeft(2, '0'), DateTime.Now.Day.ToString().PadLeft(2, '0'));
            string PhysicalPath = HttpContext.Current.Server.MapPath(FilesPath);
            // Check if the directory we are saving to exists

if (!Directory.Exists(PhysicalPath))
            {

// If it doesn't exist, create the directory

Directory.CreateDirectory(PhysicalPath);

}

// Set our full path for saving

string path = PhysicalPath + fileName;

// Save our file

file.SaveAs(Path.GetFullPath(path));

// Return the filename

return FilesPath + fileName;

}

public static void DeleteFile(string fileName)
        {
            if (!string.IsNullOrWhiteSpace(fileName))
            {
                // Don't do anything if there is no name

if (fileName.Length == 0) return;

// Set our full path for deleting

string path = HttpContext.Current.Server.MapPath(fileName);

// Check if our file exists

if (File.Exists(Path.GetFullPath(path)))
                {

// Delete our file

File.Delete(Path.GetFullPath(path));

}
            }
        }

mvc3 上传图片的更多相关文章

  1. 关于Asp.Net Mvc3.0 使用KindEditor4.0 上传图片与文件

    http://blog.csdn.net/fyxq14hao/article/details/7245502 今天我们的Asp.Net Mvc 3的项目中,把KindEditor3.9改为 KindE ...

  2. 在MVC3中修改KindEditor实现上传图片到指定文件夹

    KindEditor编辑器默认上传的图片文件夹,是根据系统时间自动生成的,图片是自动上传到这些文件夹里面,无法选择.如果要上传图片到指定文件夹,像相册一样管理图片,则需要扩展KindEditor编辑器 ...

  3. 在MVC3中使用富文本编辑器:KindEditor的配置及上传图片

    现在比较常用的富文本编辑挺多的,如ueditor.fckeditor.kingeditor等,本文主要介绍一下KindEditor的配置与使用. 先去官网http://www.kindsoft.net ...

  4. MVC3.0 上传图片并生成缩略图

    转自:http://mikelai.blog.163.com/blog/static/18411126620118771732675/ Controller: public ActionResult ...

  5. 在MVC3或asp.net中修改KindEditor实现上传图片时添加水印

    主要修改两个文件:image.js和upload_json.ashx文件. 一.修改image.js文件 打开kindeditor/plugins/image目录下的image.js文件,找到 '&l ...

  6. 【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)

    之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库.其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存url了.而且这种方式支持ie6(ie6不支持jquery自动提交fo ...

  7. 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=56&extra=page%3D1 我们在网页上传图片的时候,特 ...

  8. 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明

    ====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...

  9. MVC3中 swfupload 按钮不显示 解决方案

    这两天在做图片上传并显示的功能,之前就用过swfupload,觉得很不错,之前是用asp.net webform做的,这次的项目是用asp.net MVC3来做,视图引擎用的是Razor. 将js文件 ...

随机推荐

  1. web.config连接字符串的一些总结

    阅读目录: DS01:数据库连接字符串的两种写法 DS02:数据库连接字符串的内容 DS01:数据库连接字符串的两种写法 1.连接字符串的两种写法: <configuration>   & ...

  2. IOS9 Swift

    Swift 2.0发布:即将开源,支持Linux [日期:2015-06-09] 来源:infoq  作者:Linux [字体:大 中 小]     在6月9日凌晨举行的WWDC 2015全球开发者大 ...

  3. 显示图片的(自定义)吐司Toast

    一般我们提示的时候都是直接提示文字的,其实Toast也可以显示图片 常用方法 Toast.makeText(context,text,duration)这返回一个Toast对象 toast.setDu ...

  4. javadoc 生成自定义的标签

    转自:http://www.blogjava.net/lishunli/archive/2010/01/12/309218.html Technorati 标记: tools 关键词 个性化地生成Ja ...

  5. MicroERP软件更新记录2.0

    本次更新: 版本:2.0 内容:人力资源日常管理.工资薪酬.绩效考核 下次更新: 版本:2.1 内容:客户关系管理 开发载图: 截图(部分):

  6. 关于win10系统自带浏览器IE11的JQuery使用问题

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...

  7. hdu 1231, dp ,maximum consecutive sum of integers, find the boundaries, possibly all negative, C++ 分类: hdoj 2015-07-12 03:24 87人阅读 评论(0) 收藏

    the algorithm of three version below is essentially the same, namely, Kadane's algorithm, which is o ...

  8. 张小龙微信小程序演讲内容简介

    1月9号,看看实际上如何

  9. EF实体框架数据操作基类(转)

    //----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司 ...

  10. Australian troops to the fight against Islamic State militants.

    He arrived in Arnhem Land on Sunday, honouring an election promise to spend a week every year in an ...