Action中完成下載文件代碼

背景描述:在用Struts實現文件下載 實現:代碼如下,但是在Action中返回的必須是ActionMapping的null對象(即: return null;) private void outputFile(HttpServletResponse response, File file) throws IOException { //回复响应给用户文件下载对话框 response.setHeader("Content-disposition", "attachment;filename=" + FILE_NAME); byte[] b = new byte[100]; OutputStream os = response.getOutputStream(); FileInputStream fileInS = new FileInputStream(file); int n; while((n = fileInS.read(b)) != -1) { os.write(b, 0, n); } fileInS.close(); os.close(); }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件上传和下载功能的代码实现通常涉及到两个方面:前端代码和后端代码。下面是一个简单的示例,以 Node.js 和 Express 框架为例,演示如何实现基本的文件上传和下载功能。请注意,这个示例并不是最好的实现方式,仅供参考。 前端代码: 文件上传: ```html <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 文件下载: ```html <a href="/download?filename=test.txt">Download</a> ``` 后端代码: 文件上传: ```javascript const express = require('express'); const multer = require('multer'); const app = express(); const upload = multer({ dest: 'uploads/' }); // 设置上传文件的存储路径 app.post('/upload', upload.single('file'), (req, res, next) => { const file = req.file; if (!file) { const error = new Error('Please upload a file'); error.httpStatusCode = 400; return next(error); } res.send('File uploaded successfully'); }); ``` 文件下载: ```javascript app.get('/download', (req, res) => { const fileName = req.query.filename; const filePath = __dirname + '/uploads/' + fileName; res.download(filePath); }); ``` 在这个示例,我们使用了 multer 间件来处理文件上传,并设置了上传文件的存储路径。在文件上传处理函数,我们判断了上传的文件是否存在,如果不存在则返回错误信息。在文件下载处理函数,我们使用了 express 的 res.download() 方法来实现文件下载功能,该方法会将文件作为附件自动下载到客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值