我正在使用Spring Frame工作3.05,我想使用相同的框架下载文件。谷歌搜索后我在这个堆栈溢出链接中找到答案。
Downloading a file from spring controllers
在上面的链接中 - >斯科特卡尔森 - 答案
但是,如果我尝试按照上面的链接建议。我得到以下错误:
“写入输出流时出错,原因是:java.io.NotSerializableException:org.springframework.core.io.FileSystemResource ”
我的代码看起来像:
FileSystemResource fsr = new FileSystemResource(path);
try
{
OutputStream outstr = res.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outstr);
oos.writeObject(fsr);
oos.flush();
oos.close();
}
catch(Exception e)
{
log4log.error("Error while writing to output stream due to :"+e.toString());
return null;
}
请帮帮我......
答案 0 :(得分:1)
您要做的是将FileSystemResource
的内容复制到回复中Outputstream
:
InputStream in = fsr.getInputStream();
OutputStream out = response.getOutputStream();
org.apache.commons.io.IOUtils.copy(in, out);
您在代码中尝试执行的操作实际上是尝试serialize an object到响应的输出流中。