MVC 3.0 上传多张图片到服务器
View关键代码:
@using (Html.BeginForm("Create", "Activity", FormMethod.Post, new { enctype = "multipart/form-data" }))
<div class="controls ">
<span class="signup">图片1: <input type="file" name="Image1" />
@Html.TextBoxFor(model => model.Image1, new { @disabled = "disabled", @style = "width:300px;" })
@Html.ValidationMessageFor(model => model.Image1)</span>
</div>
<div class="controls ">
<span class="signup">图片2:
<input type="file" name="Image2" />
@Html.TextBoxFor(model => model.Image2, new { @disabled = "disabled", @style = "width:300px;" })
@Html.ValidationMessageFor(model => model.Image2)
</span>
</div>
<div class="controls ">
<span class="signup">图片3:
<input type="file" name="Image3" />
@Html.TextBoxFor(model => model.Image3, new { @disabled = "disabled", @style = "width:300px;" })
@Html.ValidationMessageFor(model => model.Image3)
</span>
</div>
<p>
<input type="submit" value="保存草稿" name="action" />
<input type="submit" value="发布" name="action" />
</p>
Controller主要代码:
[ValidateInput(false)]
public ActionResult Create(string action, ActivityWeb.Models.activities model, string[] City)
{
foreach (string inputName in Request.Files.AllKeys)
{
HttpPostedFileBase file = Request.Files[inputName];
//存入文件
if (file.ContentLength > )
{
//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 class FileUpload
{ //public static char DirSeparator = Path.DirectorySeparatorChar; //public static string FilesPath = string.Format("ActivityFile{0}Images{0}{1}{0}{2}{3}{0}", DirSeparator, DateTime.Now.Year, DateTime.Now.Month.ToString().PadLeft(2, '0'), DateTime.Now.Day.ToString().PadLeft(2, '0'));
//public static string PhysicalPath = HttpContext.Current.Server.MapPath(FilesPath); 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 > )) 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(, ''), DateTime.Now.Day.ToString().PadLeft(, ''));
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 == ) 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)); }
}
} }
MVC 3.0 上传多张图片到服务器的更多相关文章
- .net MVC 简单图片上传
主要完成的是在网页上 上传一张图片到服务器 我搜出来的上传文件代码都特别复杂,对于初学者来说,先解决能上传的问题才最重要,并不需要特别多的功能,仅适合不会上传的初学者,大神请绕路,错误请指出,谢谢 v ...
- 关于最新版AFNetworking(3.0)上传多张图片的问题
最新版的AF已经废弃了很多以前的类,所以很多以前的方法都不能用了,当然最主要还是为了适应ipV6所做的更改.楼主最近正在写多张图片上传,碰到了一些问题,解决之后直接封装了一个方法,废话有点多了,上代码 ...
- Html5+asp.net mvc 图片压缩上传
在做图片上传时,大图片如果没有压缩直接上传时间会非常长,因为有的图片太大,传到服务器上再压缩太慢了,而且损耗流量. 思路是将图片抽样显示在canvas上,然后用通过canvas.toDataURL方法 ...
- iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样
// 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...
- Spring MVC实现文件上传
基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver.Spring使用Jakarta Commons FileUpload技术实现了一个Multi ...
- php用jquery-ajax上传多张图片限制图片大小
php用jquery-ajax上传多张图片限制图片大小 /** * 上传图片,默认大小限制为3M * @param String $fileInputName * @param number $siz ...
- 微信JSSDK上传多张图片
之前是使用for循环实现的,但是安卓手机没有问题,苹果手机只能上传最后一张图片. 好在有高手在前面趟路,实用的循环调用.苹果是没有,安卓不清楚.以下内容转自:http://leo108.com/pid ...
- MVC之文件上传1
MVC之文件上传 前言 这一节我们来讲讲在MVC中如何进行文件的上传,我们逐步深入,一起来看看. Upload File(一) 我们在默认创建的项目中的Home控制器下添加如下: public Act ...
- 整理几个js上传多张图片的效果
一.普通的上传图片,张数不限制 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"&g ...
随机推荐
- 探究platform_driver中的shutdown用途
http://blog.csdn.net/moxiaomomo/article/details/7897943 "quiesce" 说的也不太明确,我的猜测是:比如系统中有一个大功 ...
- WebForm带有图片的验证码
验证码形成的部分在一个aspx文件中: 页面设置 <%@ Page Language="C#" AutoEventWireup="true" CodeFi ...
- javascript 常用实用函数。。。。。。
javascript 正则表达式 1.获取屏幕大小尺寸 /* 获取屏幕大小尺寸 */ var getScreen = function () { var screen = { width: 0, he ...
- Windows server 2012 AD DS 搭建步骤
服务器版本:Windows server 2012 1. 配置网络,由于本机会搭建DNS服务器,因此首选DNS服务器设置为127.0.0.1 2. 打开服务器管理器 3. 点击添加角色和功能,下 ...
- UITableViewCell的cell重用原理
iOS设备的内存有限,如果用UITableView显示成千上万条数据, 就需要成千上万个UITableViewCell对象的话, 那将会耗尽iOS设备的内存.要解决该问题,需要重用UITableVie ...
- CentOS6.5 安装 tomcat
1.首先下载tomcat.tar.gz包 http://tomcat.apache.org/download-70.cgi 2.移动到目标文件夹 mv tomcat.tar.gz /usr/tomca ...
- VB.NET vs. C#
VB.NET Program Structure C# Imports System Namespace Hello Class HelloWorld Overloads Shar ...
- Android Studio常见问题 -- uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library
问题描述 * What went wrong:Execution failed for task ':app:processDebugManifest'.> Manifest merger fa ...
- const char* && string && String^ 类型转换
const char* && string && String^ 类型转换 const char* ---> string const char * cw= &q ...
- 关于C++虚函数的一点点~~
Talk is cheap, show you the code: 1.(普通的) #include<cstdio> class B { public: void func() const ...