这是在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));
}
}
}
相关文章
- 11-28Android背景图片大小以像素为单位
- 11-28验证码图片工具类
- 11-28OpenCV——保存图片和视频
- 11-28上传本地代码到github
- 11-28canvas_27 保存画布为图片
- 11-28python-----图片保存为视频
- 11-28Keras 图片预处理
- 11-28android开发使用Glide加载图片模糊不清的解决方法
- 11-28169美女图片
- 11-28HTML在网页上不能显示图片问题