前台页面
//上传图片
function UploadFile() {
var file = $('#fileInput').files[0]
if(CheckFile(file,1)!='通过')
{
return;
}
var formdata = new FormData();
//文件
formdata.append("file", file);
formdata.append("cmd", 'uploadimg');
//console.log(formdata);
//显示loading
//ShowLoading(true);
$.ajax({
type: "post",
url: "./Action/ChatAction.aspx",
data: formdata,
//async: false,
/**
*必须false才会自动加上正确的Content-Type
*/
contentType: false,
/**
* 必须false才会避开jQuery对 formdata 的默认处理
* XMLHttpRequest会对 formdata 进行正确的处理
*/
processData: false,
dataType: 'json',
success: function (data) {
//图片上传成功
if (data.status == 0) {
}
//图片上传失败
else {
console.log(data.errMsg);
}
//隐藏loading
ShowLoading(false);
},
error: function (data) {
console.log(data.statusText);
//隐藏loading
ShowLoading(false);
}
});
}
//检查文件类型、大小
function CheckFile(file, type) {
let allowType = {
".png": 1, ".jpeg": 1, ".jpg": 1, ".gif": 1,
".mp3": 2,
".mp4": 3
};
let allowSize = { 1: 2097152, 2: 5242880, 3: 20971520 };
let errMsg = {
"1": '图片格式不正确',
"2": '音频格式不正确',
"3": '视频格式不正确'
};
let errSizeMsg = {
'1': '图片文件大于2M',
'2': '音频文件大于5M',
'3': '视频文件大于20M',
}
let ext = file.name.substr(file.name.lastIndexOf(".")).toLowerCase();
let res = allowType[ext];
if (res != type) {
return errMsg[type];
}
if (file.size > allowSize[res]) {
return errSizeMsg[type];
}
return '通过';
}
后台页面
private void DoUploadImg() {
string retVal = "{\"status\":1,\"errMsg\":\"图片上传失败\" }";
try
{
var files = Request.Files;
if (files.Count > 0)
{
var Upload_image = files[0];
//图片后缀名
string ext = System.IO.Path.GetExtension(Upload_image.FileName).ToLower();
if (Upload_image.ContentLength > 1024 * 1024 * 2)
{
retVal = "{\"status\":2,\"errMsg\":\"图片大小超过限制,最大不能超过2M\" }";
}
else if ((ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg"))
{
retVal = "{\"status\":2,\"errMsg\":\"图片格式不支持\" }";
}
else {
//指定上传文件在服务器上的保存路径
string foldPath = string.Format(@"upload\{0}\{1}", DateTime.Now.ToString("yyyy"), DateTime.Now.ToString("MM"));
string mapPath = HttpContext.Current.Server.MapPath("~/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(mapPath + foldPath))
{
System.IO.Directory.CreateDirectory(mapPath + foldPath);
}
//图片重命名,userid+getdatetime
string time = DateTime.Now.ToString("yyyyMMddhhmmss");
string newname = time + ext;
string savePath = mapPath + foldPath + "\\" + newname;
Upload_image.SaveAs(savePath);
string ImageUrl = @"/" + foldPath.Replace(@"\", "/") + @"/" + newname;
retVal = "{\"status\":0,\"errMsg\":\"" + ImageUrl + "\" }";
}
}
else
{
retVal = "{\"status\":1,\"errMsg\":\"没有选择图片\" }";
}
}
catch (Exception eX)
{
retVal = "{\"status\":1,\"errMsg\":\"" + eX.Message + "\" }";
}
Response.Write(retVal);
}