多數文件上傳都是通過表單形式提交給後臺服務器的,因此,要實現文件上傳功能,就需要提供一個文件上傳的表單,而該表單必須滿足以下3個條件:
1.form表單的method屬性設置爲post
2.form表單的enctype屬性設置爲multipart/form-data( form有個默認編碼方式:application/x-www-form-urlencoded不是不能上傳文件,是隻能上傳文本格式的文件,multipart/form-data是將文件以二進制的形式上傳,這樣可以實現多種類型的文件上傳)。
3.提供<input type=“file” name=“filename” />的文件上傳輸入框。
原來的新增保存用$(“#saveForm”).serialize()提交form表單的數據,但不能提交file文件
function create(){
$.post("${ ctx }/goods/create.do",
$("#saveForm").serialize(),function(data){
if(data){
alert("保存成功");
window.location.reload();
}else{
alert("失敗");
}
});
所以要修改
} */
function create(){
var formData = new FormData($("#saveForm")[0]);
alert(formData.get('goodName'));
alert(formData.get('uploadfile'));
$.ajax({
type: "post",
url:"${ ctx}/goods/create.do",
data: formData,
async: false,//從這往下3行必須要寫,不然file文件傳不到後臺去
processData: false,
contentType: false,
success:function(data){
if(data){
alert("保存成功");
window.location.reload();
}else{
alert("失敗");
}
}
});
}