springboot vue 下载本地文件
时间: 2023-05-16 09:06:25 浏览: 174
vue和springboot的上传文件和文件夹中的文件以及下载文件(csdn)————程序.pdf
您可以使用Java的FileInputStream和FileOutputStream类来下载本地文件。首先,您需要在Spring Boot中创建一个RESTful API来处理文件下载请求。然后,您可以使用Vue.js来创建一个简单的UI来触发该API。以下是一个简单的Java代码示例,可以将文件从服务器下载到本地:
```
@GetMapping("/download")
public void downloadFile(HttpServletResponse response) throws IOException {
File file = new File("path/to/your/file");
InputStream inputStream = new FileInputStream(file);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
response.setHeader("Content-Length", String.valueOf(file.length()));
IOUtils.copy(inputStream, response.getOutputStream());
response.flushBuffer();
}
```
在Vue.js中,您可以使用axios库来发出HTTP请求并下载文件。以下是一个简单的Vue.js代码示例:
```
<template>
<div>
<button @click="downloadFile">Download File</button>
</div>
</template>
<script>
import axios from 'axios';
export default {
methods: {
downloadFile() {
axios({
url: '/download',
method: 'GET',
responseType: 'blob',
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.txt');
document.body.appendChild(link);
link.click();
});
},
},
};
</script>
```
阅读全文