三层架构中ajax,基于mvc三层架构和ajax技术实现最简单的文件上传
前臺(tái)頁(yè)面提交文件
文件操作上傳文件
//上傳文件
function upFile() {
var file = document.getElementById("UpFile").files[0];
if (!file) {
alert("請(qǐng)選擇文件!");
return;
}
var size = file.size / 1024 / 1024;
if (size > 50) {
alert("圖片文件不能大于50M");
return;
}
$("#upFileForm").ajaxSubmit({
url: "/File/UploadFile",
type: "post",
dataType: "json",
success: function (data) {
if (data == "" || data == "0") {
alert("上傳失敗");
}
if (data == "2") {
alert("不支持上傳該文件");
} else {
alert(JSON.stringify(data));
}
},
error: function (aa) {
alert(aa);
}
});
}
后臺(tái)接收和上傳
[HttpPost]
public JsonResult UploadFile()
{
HttpRequest request = System.Web.HttpContext.Current.Request;
HttpFileCollection FileCollect = request.Files;
string path = "";//文件的完整路徑
//文件保存目錄路徑
string imgPathName = DateTime.Now.ToString("yyyyMMdd");//以日期為文件存放的上層文件夾名
string savePath = "/upload/file/" + imgPathName + "/";//文件存放的完整路徑
//如果文件路徑不存在則創(chuàng)建文件夾
if (!Directory.Exists(Server.MapPath(savePath)))
{
Directory.CreateDirectory(Server.MapPath(savePath));
}
//定義允許上傳的文件擴(kuò)展名
Hashtable extTable = new Hashtable();
extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");
if (FileCollect.Count > 0)//如果集合的數(shù)量大于0,多文件上傳情況
{
foreach (string str in FileCollect)
{
HttpPostedFile imgFile = FileCollect[str];//用key獲取單個(gè)文件對(duì)象HttpPostedFile
string fileName = imgFile.FileName;//獲取文件名
string fileExt = Path.GetExtension(fileName).ToLower();//獲取文件后綴名
//判斷文件類型是否正確
if (Array.IndexOf(((string)extTable["file"]).Split(','), fileExt.Substring(1).ToLower()) == -1)
{
//文件類型不正確
return Json("2");
}
string imgName = DateTime.Now.ToString("yyyyMMddhhmmss");//文件別名
string imgPath = savePath + imgName + "-" + imgFile.FileName;//構(gòu)造文件保存路徑
string AbsolutePath = Server.MapPath(imgPath);
imgFile.SaveAs(AbsolutePath);//將上傳的東西保存
path = imgPath;//獲得文件完整路徑并返回到前臺(tái)頁(yè)面
}
return Json(path);
}
else
{
//上傳失敗
return Json("0");
}
}
標(biāo)簽:
版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn),本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有
總結(jié)
以上是生活随笔為你收集整理的三层架构中ajax,基于mvc三层架构和ajax技术实现最简单的文件上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oh my life是哪首歌啊?
- 下一篇: 华为云服务器默认密码怎么修改,云服务器怎