mvc3 上传图片
这是在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 上传图片的更多相关文章
- 关于Asp.Net Mvc3.0 使用KindEditor4.0 上传图片与文件
http://blog.csdn.net/fyxq14hao/article/details/7245502 今天我们的Asp.Net Mvc 3的项目中,把KindEditor3.9改为 KindE ...
- 在MVC3中修改KindEditor实现上传图片到指定文件夹
KindEditor编辑器默认上传的图片文件夹,是根据系统时间自动生成的,图片是自动上传到这些文件夹里面,无法选择.如果要上传图片到指定文件夹,像相册一样管理图片,则需要扩展KindEditor编辑器 ...
- 在MVC3中使用富文本编辑器:KindEditor的配置及上传图片
现在比较常用的富文本编辑挺多的,如ueditor.fckeditor.kingeditor等,本文主要介绍一下KindEditor的配置与使用. 先去官网http://www.kindsoft.net ...
- MVC3.0 上传图片并生成缩略图
转自:http://mikelai.blog.163.com/blog/static/18411126620118771732675/ Controller: public ActionResult ...
- 在MVC3或asp.net中修改KindEditor实现上传图片时添加水印
主要修改两个文件:image.js和upload_json.ashx文件. 一.修改image.js文件 打开kindeditor/plugins/image目录下的image.js文件,找到 '&l ...
- 【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)
之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库.其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存url了.而且这种方式支持ie6(ie6不支持jquery自动提交fo ...
- 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=56&extra=page%3D1 我们在网页上传图片的时候,特 ...
- 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...
- MVC3中 swfupload 按钮不显示 解决方案
这两天在做图片上传并显示的功能,之前就用过swfupload,觉得很不错,之前是用asp.net webform做的,这次的项目是用asp.net MVC3来做,视图引擎用的是Razor. 将js文件 ...
随机推荐
- POJ 1426 Find The Multiple
注:本人英语很渣,题目大意大多来自百度~=0= 这个题有点坑,答案不唯一 题目大意:给你一个数n, 你需要输出的是一个由1和0组成的数,此数能被n整除 解题思路:用s = 1做数的起点, ...
- P53 T2
为方便储户,某银行拟开发计算机储蓄系统.储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名.住址.存款类型.存款日期.利率等信息,并印出存款单给储户:如果是取款,系统计算利息并印 ...
- 全面分析Java的垃圾回收机制
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间.Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new.newarray.anewarray和mult ...
- Java集合类学习笔记(各种Map实现类的性能分析)
HashMap和Hashtable的实现机制几乎一样,但由于Hashtable是一个古老的.线程安全的集合,因此HashMap通常比Hashtable要快. TreeMap比HashMap和Hasht ...
- git 的基本命令
...git init ...git add ...git commit -m "first commit" ...git remote add origin https://gi ...
- tab事件优化-事件代理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js动画之同时运动
一个物体可以同时做多个运动,而不是完成一个运动再一个运动,而是让你感觉他们是同时发生的. 直接上代码 <!DOCTYPE html> <html lang="en" ...
- Debian 7环境安装TightVNC+Gnome远程桌面环境
昨天下午的时候一个Hostus网友希望在购买的VPS主机中安装桌面环境用来跑软件项目,其实也是我们很多用户习惯的VNC桌面,毕竟在LINUX服务器中也无法去安装WINDOWS系统,尤其是OPENVZ架 ...
- flex中image控件source属性改变的例子
Download: main.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Applicat ...
- Android 振动器
今天介绍一下Android的振动器Vibrator,有三个方法来控制手机振动: 1.void vibrate(long milliseconds):控制手机振动milliseconds毫秒. 2.vo ...