今天一直下载出现如下异常:
Can not find a
查了半天资料:发现,路径不对。
在action中,定义四个属性。
/** 下载的文件类型 */
protected String contentType;
/** 下载的文件名称 */
protected String filename;
/** 输入流 */
protected InputStream inputStream;
/** 下载的文件路径 */
protected String inputPath;
public InputStream getInputStream()//获取输入流
{
return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}
public String getFilename() //获取中文名称
{
try
{
return new String(filename.getBytes("gbk"),"ISO-8859-1");
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
return filename;
}
}
inputPath = "/"+“文档保存路径”+“文档名称.doc”;
在xml中的配置文件如下:
<result name="down" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
<param name="contentDisposition">attachment;filename="${filename}"</param>
</result>
<!-- 动态文件下载的,事先并不知道未来的文件类型,那么我们可以把它的值设置成为:application/octet-stream;charset=ISO8859-1 ,注意一定要加入charset,否则某些时候会导致下载的文件出错; -->