java - 如何创建包含字符串内容的 txt 文件并下载该 txt 文件
问题描述
我正在使用java和struts。我有一个场景,页面中有“下载”链接。单击此链接后,控件转到Action 类,其中我有字符串内容,我需要将其写入.txt文件,然后下载该 txt 文件。
最终,每当我们点击下载链接时,我们应该能够下载一个包含特定字符串内容的 txt 文件。
我使用了下面的一段代码,
FileOutputStream outputStream = new FileOutputStream(fileNameWithDirectory);
outputStream.write(fileContentString.getBytes());
outputStream.close();
ActionForward forward = new ActionForward("doc/" + filename);
forward.setName(filename);
forward.setRedirect(true);
return forward;
我也试过FileWriter
代替FileOutputStream
like,
FileWriter fileWriter = new FileWriter(fileNameWithDirectory);
fileWriter.write(fileContentString);
fileWriter.flush();
fileWriter.close();
但始终不是下载 txt 文件,而是控件打开一个写入字符串内容的新窗口。请建议我,我将如何下载该.txt文件。
解决方案
您应该添加Content-Disposition: attachment
说浏览器,它应该下载文件,而不是打开它。
在此处查看更多详细信息
Struts 也有DownloadAction,你也可以使用它。
推荐阅读
- mysql - 如何修复 Pool 的 _connectionQueue 中过多的问题?
- android - 生成签名发布 apk 时出现重复错误
- javascript - 将 AVVideoComposition 初始化程序转换为 Nativescript
- java - 与 Java 反射“调用”方法的行为不一致
- java - GAE 凭据在 App Engine 上不可用
- php - Symfony 4 - 无法提交我的表单模式(路径错误)
- .net - 如何告诉 Roslyn C# 编译器使用特定版本的 .NET?
- javascript - 如何将 HTML 表单数据存储到特定文件夹中的 csv 文件?
- json - 还有另一种方法可以从 Fabric JS 获取 JSON 中存在的 Circle 对象吗?
- node.js - 如何识别哪些 npm 包只是对等依赖项?