//上传图标
function ajaxFileUpload() {
$.ajaxFileUpload({
url: "@Url.Action("UploadImgFile", "Upload")", //用于文件上传的服务器端请求地址
secureuri: false, //一般设置为false
fileElementId: $("input[name=file_upload]"), //文件上传空间的id属性
dataType: "text", //返回值类型
success: function (data, status) { //服务器成功响应处理函数
var data2 = JSON.parse(data);
if (data2.ResultType == "@OperationResultType.Success.ToInt32()") {
$("input[name=Icon]").val(data2.ResultMessage);
$("label.img-label").text("重传");
}
else {
showMessage(data2.ResultMessage);
}
},
error: function (data, status, e) {//服务器响应失败处理函数
showMessage("服务器未响应");
}
});
return false;
}
/// <summary>
/// 浏览上传文件
/// </summary>
/// <param name="file_upload">文件</param>
/// <returns></returns>
public ContentResult UploadImgFile(HttpPostedFileBase file_upload)
{
OperationResult result;
if (file_upload == null)
{
result = new OperationResult(OperationResultType.Error, "请选择要上传的图片");
}
else
{
var fileExtension = Path.GetExtension(file_upload.FileName).ToLower();
if (!WebConfigInfo.ImageSupportType.Contains(fileExtension))
{
result = new OperationResult(OperationResultType.Error, "请上传" + WebConfigInfo.ImageSupportType+"格式的图片");
}
else if (file_upload.ContentLength > Convert.ToInt32(WebConfigInfo.IconFileSizeLimit.Remove(WebConfigInfo.IconFileSizeLimit.LastIndexOf(' '))) * 1024)
{
result = new OperationResult(OperationResultType.Error, "请上传最大不超过" + WebConfigInfo.IconFileSizeLimit+"的图片");
}
else
{
string path = "/upload/" + DateTime.Now.ToString("yyyyMMdd");
string uploadDir = Server.MapPath(WebConfigInfo.VirtualDirectoryName + path);
// 如果上传课程文件夹不存在,则创建
if (!Directory.Exists(uploadDir))
Directory.CreateDirectory(uploadDir);
string fileUrl = string.Format("{0}/{1}{2}", path, Guid.NewGuid().ToString().Replace("-", string.Empty), fileExtension);
file_upload.SaveAs(Server.MapPath(WebConfigInfo.VirtualDirectoryName + fileUrl));
result = new OperationResult(OperationResultType.Success, fileUrl);
}
}
var json = string.Format("{0}\"ResultType\":\"{1}\",\"ResultMessage\":\"{2}\"{3}", "{", result.ResultType.ToInt32(), result.Message, "}");
return Content(json);
}