1、多文件上傳:
2、如上幾個驗證不重復,和限制上傳數量的驗證顯示的是英文,改成中文文本時,如果不用國標解碼,到時候提示框會出現亂碼現象。所以一般需要中文顯示的時候,我們應該這樣做:
拿denied做例子:
STRING:{
denied:decodeURI('文件格式不支持:','GB2312')+'$ext!'
}
3、如1所說的寫法,我個人感覺如果寫在body里比較亂,所以寫在script標簽中比較好。寫法如下:
$("#Upfile").MultiFile({
max: 3,
accept: '*',
STRING: {
file: '<em title="單擊刪除文件" onclick="$(this).parent().prev().click()">$file</em>',
remove: '<font color=red>[刪除]</font>',
selected: decodeURI('Selecionado', "GB2312") + ': $file',
duplicate: decodeURI('文件已選擇', "GB2312") + ':\n$file!',
})
4、后台操作時,如何取得multifile瀏覽的文件?這需要前台html在寫mutifile控件時一定注意name的命名,后台的獲取就是靠這個名字。
前台eg: <input type="file" name="UpFile" id="UpFile" multiple="multiple" />
后台獲取eg(我現在用的是mvc,所以用mvc介紹):我在表單提交的時候,將上傳的文件保存到數據庫中,所以在表單提交轉到的action中,傳入參數,如下:
public ActionResult Update(MachineryRental.Model.tb_DriverInfo newModel,
IEnumerable<HttpPostedFileBase> UpFile
){}
最重要的是標紅的參數,如果你加斷點調試,當代碼走到這時,你能看到upFile傳入的值。在這里解釋下這個傳入的值,是name為UpFile的上傳控件上傳的圖片。
我對這些文件的處理是:先遍歷files,保存到本地指定路徑,同時將路徑保存到數據庫中。在這個項目中是統一建了一個附件的表,來儲存附件的相關信息。
5、在單文件和多文件同時使用的同一頁面中,比如:照片和附件的上傳。后台在獲取上傳的文件時,使用
HttpFileCollection Files = System.Web.HttpContext.Current.Request.Files;
獲取的是整個瀏覽器上的不管是照片還是附件上傳的所有文件。得給她做個區分,
HttpPostedFileBase file = files["uploadPhoto"];——uploadPhoto是name名稱。