首页 > 解决方案 > 下载的文件应该是.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();

}

连接正确,但输出数据似乎错误

输出

任何想法?

标签: javasamba

解决方案


那是因为您正在获取构成 .PNG 文件的字节并将其打印出来,而不是将其保存为我认为您想要做的文件。

代替

PrintWriter outStream1  = resp.getWriter();

换成这个

OutputStream outStream1 = new FileOutputStream("somefile.png");

然后打开“somefile.png”,您应该能够看到通过 Samba 下载的图像


推荐阅读