java - 下载的文件应该是.png
问题描述
我不知道我的代码有什么问题,我尝试使用 sambautil 从服务器下载 png
if (!path.equals("")) {
SambaUtil su = new SambaUtil();
byte[] data = su.openfile(path);
log.info(path);
ByteArrayInputStream inStream = new ByteArrayInputStream(su.openfile(path));
PrintWriter outStream1 = resp.getWriter();
int bytes;
while ((bytes = inStream.read()) != -1) {
outStream1.write(bytes);
}
inStream.close();
outStream1.close();
}
连接正确,但输出数据似乎错误
任何想法?
解决方案
那是因为您正在获取构成 .PNG 文件的字节并将其打印出来,而不是将其保存为我认为您想要做的文件。
代替
PrintWriter outStream1 = resp.getWriter();
换成这个
OutputStream outStream1 = new FileOutputStream("somefile.png");
然后打开“somefile.png”,您应该能够看到通过 Samba 下载的图像
推荐阅读
- python - 使用 python 在终端中运行命令行命令
- regex - 使用 Powershell 注释掉文本文件中的“代码块”?
- scikit-learn - 词嵌入降低分类精度
- google-bigquery - GROUP BY 的 Bigquery 错误和 ALIAS 的 HAVING
- python - 无法在 Swift 中读取 JSON 返回的数组,如 Python 枚举
- inno-setup - Inno Setup 不会在 PrepareToInstall 部分重新启动
- sql-server - 从管道分隔的字符串中提取数据
- html - 为什么垂直对齐会影响前一个(相同范围)元素?
- node.js - Mongodb原生驱动超时生产值
- redis - 得分最高的 ZADD 成员