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));
}
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。