最近開發了一個基于vue的網站,需要實現上傳文件的功能。考慮到方便性、易用性和美觀性,我們自然而然地選擇了vue easyui插件。這個插件是基于jQuery easyui的二次封裝,所以我們需要先引入jQuery和jQuery easyui。
接下來就是引入vue easyui插件。
引入插件后,我們需要在vue實例的`mounted`方法中初始化vue easyui文件上傳組件。首先,在HTML中定義一個文件上傳框:
`easyui-filebox`是文件上傳框的class,在初始化文件上傳組件時會用到。`data-options`中的屬性可以設置選擇文件按鈕上的文字和提示信息。
然后我們需要在vue實例的`mounted`方法中初始化文件上傳組件:
mounted() { $('#file_upload').filebox({ buttonText: '選擇文件', prompt: '請選擇要上傳的文件...' }); $('#btn_upload').click(() =>{ const file = $('#file_upload').filebox('getFile'); if (!file) { $.messager.alert('消息', '請選擇要上傳的文件', 'info'); return; } const formData = new FormData(); formData.append('file', file); $.ajax({ url: '/api/upload', type: 'POST', data: formData, processData: false, contentType: false, success: (data) =>{ $.messager.alert('消息', '上傳成功', 'info'); }, error: (xhr, status, error) =>{ $.messager.alert('消息', '上傳失敗', 'error'); } }); }); }
這里用到了jQuery的`$.ajax`方法向服務器上傳文件,并用`$.messager.alert`方法彈出上傳結果的提示窗口。需要注意的是,在上傳文件之前,需要將文件放入`FormData`對象中,然后將該對象作為`data`屬性的值傳給`$.ajax`方法。如果不這樣做,文件將不會被上傳到服務器。
至此,我們已經完成了vue easyui文件上傳組件的初始化工作,可以愉快地上傳文件了。
上一篇vue 部分禁止縮放
下一篇c調用json文件