前台页面通过<file name="img">标签数组上传图片,后台根据Request.Files["img"]来接收前台上传的图片。
1 System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
if (files.Count == )
return false;
for (int i = ; i < files.AllKeys.Count(); i++)
{
if (files.AllKeys[i] != "img")
{
if (files[i].FileName.Length > )
{
System.Web.HttpPostedFile postedfile = files[i];
string filePath = "";
var ext = Path.GetExtension(postedfile.FileName);
var fileName = DateTime.Now.Ticks.ToString() + ext;
// 组合文件存储的相对路径
filePath = "/Upload/images/" + fileName;
// 将相对路径转换成物理路径
var path = Server.MapPath(filePath);
postedfile.SaveAs(path);
string fex = Path.GetExtension(postedfile.FileName);
//存储产品轮播图信息
ProductCarousel model = new ProductCarousel();
model.ProductID = productID;
model.PicSlider = filePath;
db.ProductCarousels.Add(model);
db.SaveChanges();
}
} }
HBuilder的Uploader插件上传图片到服务器
public JsonResult ApplayCertification()
{
try
{
var para = Request.Files.Keys;
foreach (var item in para)
{
Log.Debug("所有参数:" + item.ToString());
}
//接收客户端上传的文件
var FileCollect = HttpContext.Request.Files; var user = authMag.GetUser(Token);
var certification = db.UserCertifications.SingleOrDefault(p => p.UserID == user.ID); //遍历文件集合
if (FileCollect.Count > )
{
foreach (string key in FileCollect)
{
HttpPostedFileBase FileSave = FileCollect[key];//用key获取单个文件对象HttpPostedFile
//保存上传的图片
string fileName = SaveImg(FileSave, FileCollect.Get(key).FileName, user.ID);
if (key == "OwerImg")
{
certification.OwerImg = fileName;
}
if (key == "OwerCardImg")
{
certification.OwerCardImg = fileName;
}
if (key == "OwerLicenceImg")
{
certification.OwerLicenceImg = fileName;
}
if (key == "OwerDrivingLicenceImg")
{
certification.OwerDrivingLicenceImg = fileName;
}
if (key == "CarImg")
{
certification.CarImg = fileName;
}
if (key == "AssuranceImg")
{
certification.AssuranceImg = fileName;
}
}
}
certification.AuditingStatus = (byte)AuditingStatus.AuditPass;
db.SaveChanges();
return Json(new
{
state = true,
msg = "申请成功",
},
JsonRequestBehavior.AllowGet
);
}
catch (Exception ex)
{
Log.Error("ApplayCertification Error", ex);
return Json(new
{
state = false,
},
JsonRequestBehavior.AllowGet
);
}
}
存储上传图片方法
private string SaveImg(HttpPostedFileBase file, string fileName, int userID)
{
//图片路径:Upload+当前日期+当前userID
string filePath = "/Upload/"+DateTime.Now.ToString("yyyy-MM-dd")+"/"+userID.ToString()+"/";
if (!Directory.Exists(Server.MapPath(filePath)))
{
Directory.CreateDirectory(Server.MapPath(filePath));
}
string returnPath = filePath + DateTime.Now.ToString("yyyyMMddhhmmssffff") + fileName;
string absoluteFilePath = Server.MapPath(filePath) + DateTime.Now.ToString("yyyyMMddhhmmssffff") + fileName;
file.SaveAs(absoluteFilePath);
return returnPath; }