html
<div> <div class="row" style="border-top: 0.0rem;margin-bottom: 0.15rem;padding-top: 0.0rem"> <div class="upload_container" style="display: flex; justify-content: flex-start;"> <label class="el-form-item__label">选择文件:</label> <div class="upload_input" id="upload" style="margin-left: 250px"> <button type="button" class="btn_default query_search_btn import_btn" onclick="showSelectFileWin();"> Choose File </button> <span id="showFileName" class="file_name_show"> No file chosen </span> <input type="file" @change="onChangeFile($event)" id="file" class="upload_input_area" style=" display: none" name="file"/> </div> </div> </div> </div>
<input type="button" onclick="uploadFormCancel" value="取消"/>
<input type="button" onclick="uploadFile($event)" value="上传"/>
js
/** * 选择文件事件 * @param event 事件触发点 * @return {boolean} */ onChangeFile: function (event) { vm.file = ""; $("#showFileName").html("未选择文件"); $("#showFileName").removeAttr("title"); var str = $("#file").val(); var index = str.lastIndexOf(‘.‘); var photoExt1 = str.substr(index, 5).toLowerCase(); var photoExt2 = str.substr(index, 4).toLowerCase(); if (photoExt1 != ‘‘ && !(photoExt1 == ‘.xlsx‘ || photoExt2 == ‘.xls‘)) { this.$message({ message: ‘请上传xlsx/xls文件!‘, type: ‘warning‘ }); $("#file").val(""); vm.isNeedFileExtension = false; return false; } else { var maxsize = 2 * 1024 * 1024;//2M var file = event.target.files[0]; var fileSize = file.size; if (fileSize > maxsize) { this.$message({ message: ‘上传的文件不能大于2M‘, type: ‘warning‘ }); $("#file").val(""); vm.fileSizeIsFit = false; return false; } else { vm.file = file; $("#showFileName").attr("title", vm.file.name); $("#showFileName").html(vm.file.name); vm.isNeedFileExtension = true; vm.fileSizeIsFit = true; } } }, /** * 上传选择的文件 * @param event */ uploadFile: function (event) { if ($("#showFileName").text() == "No file chosen") { this.$message({ message: ‘请选择文件‘, type: ‘warning‘ }); } else if (!vm.isNeedFileExtension) { this.$message({ message: ‘请上传xlsx/xls文件!‘, type: ‘warning‘ }); } else if (!vm.fileSizeIsFit) { this.$message({ message: ‘上传的文件不能大于2M‘, type: ‘warning‘ }); } else { event.preventDefault(); var formData = new FormData(); formData.append(‘file‘, this.file); formData.append(‘token‘, this.token); var url = baseURL + ‘informationManagement/taxpayerInformationManagement/import‘; var loading = vm.getLoading("上传中..."); $.ajax({ type: "POST", url: url, data: formData, dataType: "json", cache: false,//上传文件无需缓存 processData: false,//用于对data参数进行序列化处理 这里必须false contentType: false, //必须 success: function (response) { console.log(response) loading.close(); $("#showFileName").html(‘未选择文件‘); if (response.code == 0) { this.$message({ message: response.msg, type: ‘success‘ }); //vm.query(); //vm.uploadDialog = false; /* var para = { ‘fileNumber‘: vm.aId };*/ //vm.findFileList(para); /* var pdfName = ""; for (var i = 0; i < response.list.length; i++) { var data = response.list[i]; if (data.readPdfSuccess) { pdfName += ‘<p>文件:‘ + data.pdfName + ‘ 成功</p>‘; electron.listData.push(data); } else { pdfName += ‘<p style="color: red">文件:‘ + data.pdfName + ‘ 失败</p>‘; } } $("#pdfName").append(pdfName);*/ } else { loading.close(); this.$message.error(‘系统错误!请稍后再试!‘); } }, error: function (response) { loading.close(); this.$message.error(‘系统错误!请稍后再试!‘); } }); } },
/**
* 显示选择文件的窗口
*/
function showSelectFileWin() {
$("#file").val("");
$("#file").click();
}
原文:https://www.cnblogs.com/laosunlaiye/p/10695561.html