天天看點

jQuery Ajax上傳檔案

JS代碼:

jQuery Ajax上傳檔案
jQuery Ajax上傳檔案

//儲存
function btnAdd() {
    var formData = new FormData($("#frm")[0]);

    $.ajax({
        url: "/Admin/ContentManage/SaveEdit",
        type: "POST",
        data: formData,
        contentType: false, //必須false才會避開jQuery對 formdata 的預設處理 XMLHttpRequest會對 formdata 進行正确的處理   
        processData: false, //必須false才會自動加上正确的Content-Type
        success: function (data) {
            if (data == "OK") {
                alert("儲存成功");
                $.iDialog("close"); //重新整理父頁面
            }
            else {
                alert("儲存失敗:" + data);
            }
        }
    });
}      

View Code

ASP.NET MVC背景代碼:

jQuery Ajax上傳檔案
jQuery Ajax上傳檔案
//首先判斷路徑是否存在,不存在則建立路徑
string path = Path.Combine(System.Configuration.ConfigurationManager.AppSettings["UploadsFiles"], folder + "/" + DateTime.Now.ToString("yyyyMMdd") + "/");
string physicalPath = server.MapPath(path);
if (!Directory.Exists(physicalPath))
{
    Directory.CreateDirectory(physicalPath);
}

HttpPostedFileBase file = request.Files[0];
string newFileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);
string savePath = Path.Combine(physicalPath, newFileName);
file.SaveAs(savePath);
fileName = file.FileName;
string url = Path.Combine(path, newFileName);
return url;      

繼續閱讀