angular自定义url访问
导出文件
const xhr = new XMLHttpRequest();const url = ASYNC_URLS.serverUrl + 'rmApi/supp/baseOrderInfo/exportOrderDetailMessage?baseOrderInfo.orderId=' + (this.formInfo.orderId ? this.formInfo.orderId : '') + '&baseOrderInfo.purchaseStatus=' + (this.formInfo.purchaseStatus ? this.formInfo.purchaseStatus : '');xhr.open('get', url, true);xhr.responseType = 'blob';let accessToken = sessionStorage.getItem('accessToken');xhr.setRequestHeader('tokenId', JSON.parse(accessToken).tokenId);xhr.onload = function() {if (this.status === 200) {const blob = this.response;const temp = this.getResponseHeader('Content-disposition').split('=')[1]; // 获取文件名 处理中文乱码const fileName = decodeURIComponent(temp);if (window.navigator.msSaveOrOpenBlob) { // IE浏览器下navigator.msSaveBlob(blob, fileName);} else {const link = document.createElement('a');link.href = window.URL.createObjectURL(blob);link.download = fileName;link.click();window.URL.revokeObjectURL(link.href);}}};xhr.send(null);
上传文件
uploadHand($event, fileUpload) {const xhr = new XMLHttpRequest();const files = $event.files;xhr.onreadystatechange = ev => {this.onUpload(ev, files[0].name, fileUpload);};const url = this.uploadUrl;const formData: FormData = new FormData();for (let i = 0; i < files.length; i++) {formData.append('file', files[i], files[i].name);}xhr.open('POST', url, true);xhr.setRequestHeader('tokenId', JSON.parse(sessionStorage.getItem('accessToken')).tokenId);xhr.send(formData);}onUpload(event, fileName, fileUpload) {if (event.target.readyState === 4) {this.fileName = fileName;const res = JSON.parse(event.target.response);if (res['operateSuccess']) {this.tableData = res['baseVendorVos'];this.allowImport = res['allowImport'];this.allowCount = res['allowCount'];this.forbidCount = res['forbidCount'];this.noData = false;this.nextFlag = false;} else {this.noData = true;}}fileUpload.files = [];}
响应头处理
response.setHeader(“Access-Control-Allow-Origin”, “");
response.setHeader(“Access-Control-Expose-Headers”, "”);
response.setHeader(“Content-disposition”, “attachment; filename=” + fileName);
response.setContentType(“application/vnd.ms-excel;charset=utf-8”);
response.setCharacterEncoding(“utf-8”);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
