VUE+JAVA 구현zip 파일 코드, 건류
2219 단어 취미
// vue
handleModelUpload() {
alert(' zip ')
axios({
method: 'GET',
url: '/business/api/download',
// params: {
// // eslint-disable-next-line no-undef
// reportRuleId: row.reportRuleId
// },
responseType: 'blob'
}).then(response => {
const blob = new Blob([response.data], { type: 'application/zip' })
const url = window.URL.createObjectURL(blob)
window.location.href = url
}).catch(error => this.$message.error(error) )
},
위 그림의 전단method와 같이/bussiness가 내 백엔드를 대리하는 ip의 실제 getMapping 경로는/api/download이다.다음은 백그라운드 자바api입니다.
package com.picchealth.mono.api;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
@RestController
@RequestMapping("/api")
public class DemoApi {
@GetMapping("/download")
public void download(HttpServletResponse response) throws Exception {
//
String filePath = "D://xxx.zip";
System.out.println(" :" + filePath);
//
File file = new File(filePath);
if (!file.exists()) {
System.out.println("Have no such file!");
return;
}
FileInputStream fileInputStream = new FileInputStream(file);
// Http ,
response.setHeader("Content-Disposition", "attachment;Filename=" +
URLEncoder.encode("xxx.zip", "UTF-8"));
OutputStream outputStream = response.getOutputStream();
byte[] bytes = new byte[2048];
int len = 0;
while ((len = fileInputStream.read(bytes)) > 0) {
outputStream.write(bytes, 0, len);
}
fileInputStream.close();
outputStream.close();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
사이트 정보 조회, 어떻게 실제 IP 와 사회 복지 사 를 찾 습 니까?1. 사이트 의 실제 IP 주 소 를 찾 아 CDN 가속 을 사 용 했 는 지 확인 하 세 요. 다음 두 사이트 가 비교적 좋 습 니 다. 도 메 인 이름 을 입력 한 후에 여러 개의 IP 주소 가 검출 되면 분명 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.