本文實例爲大家分享了vue.js異步上傳文件的具體代碼,供大家參考,具體內容如下:
1、上傳文件前端代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="../js/vue.js"></script>
<script src="../js/vue-resource.js"></script>
<script src="../asset/js/jquery.js"></script>
</head>
<body>
<div id="app">
<input type="file" @change="getFile($event)" /><button @click="upload">上傳</button>
<div>{{ result }}</div>
<div v-show="uping==1">正在上傳中</div>
</div>
<script>
new Vue({
el: '#app',
data: {
upath: '',
result: '',
uping:0
},
methods: {
upload: function () {
//console.log(this.upath);
var zipFormData = new FormData();
zipFormData.append('filename', this.upath);//filename是鍵,file是值,就是要傳的文件,test.zip是要傳的文件名
let config = { headers: { 'Content-Type': 'multipart/form-data' } };
this.uping = 1;
this.$http.post('http://localhost:42565/home/up', zipFormData,config).then(function (response) {
console.log(response);
console.log(response.data);
console.log(response.bodyText);
var resultobj = response.data;
this.uping = 0;
this.result = resultobj.msg;
});
},
getFile: function (even) {
this.upath = event.target.files[0];
},
}
});
</script>
</body>
</html>
2、後端處理代碼如下asp.net mvc的:
public ActionResult Up()
{
string msg = string.Empty;
string error = string.Empty;
string result = string.Empty;
string filePath = string.Empty;
string fileNewName = string.Empty;
var files = Request.Files;
if (files.Count > 0)
{
//設置文件名
fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + System.IO.Path.GetFileName(files[0].FileName);
//保存文件
files[0].SaveAs(Server.MapPath("~/Uploads/" + fileNewName));
Thread.Sleep(10 * 1000);
}
return Json(new { msg = "上傳成功", newfilename = fileNewName }, JsonRequestBehavior.AllowGet);
}
以上就是本文的全部內容,希望對大家的學習有所幫助。