当前位置: 技术问答>java相关
挑战高手!!!!答题者均有分
来源: 互联网 发布时间:2015-10-05
本文导语: 如何实现文件下载时,名称对应改变? 请求是这样的:http://xxx.xxx.xxx.xxx/control?id=xxx 其中control是servlet名称,它根据id查询数据库或文件,然后再写至客户端,问题出在客户端在保存文件是无法按正确文件名保存,即每...
如何实现文件下载时,名称对应改变?
请求是这样的:http://xxx.xxx.xxx.xxx/control?id=xxx
其中control是servlet名称,它根据id查询数据库或文件,然后再写至客户端,问题出在客户端在保存文件是无法按正确文件名保存,即每次都是提示是否保存control。
我的想法是按照自己起的名称保存文件?
如何实现啊?
我用了setcontentype("appliction/x,name=xxx")但是无效果
请求是这样的:http://xxx.xxx.xxx.xxx/control?id=xxx
其中control是servlet名称,它根据id查询数据库或文件,然后再写至客户端,问题出在客户端在保存文件是无法按正确文件名保存,即每次都是提示是否保存control。
我的想法是按照自己起的名称保存文件?
如何实现啊?
我用了setcontentype("appliction/x,name=xxx")但是无效果
|
InputStream is = null;
int i = is.available();
//设置参数,使得浏览器弹出下载窗口
response.setContentType("application/octet-stream");
response.setHeader("Accept-Ranges","bytes");
response.setHeader("Accept-Length",(new Integer(i)).toString());
response.setHeader("Content-Disposition","attachment; filename="+getFileName(fileURL));
//读取流,送往客户端
byte[] bytes = new byte[4096];
int length = -1;
while ((length = is.read(bytes))!=-1){
//这里使用的是ServletOutputStream对象,用于发送流信息
response.getOutputStream().write(bytes,0,length);
}
is.close();
需要说明就说话
int i = is.available();
//设置参数,使得浏览器弹出下载窗口
response.setContentType("application/octet-stream");
response.setHeader("Accept-Ranges","bytes");
response.setHeader("Accept-Length",(new Integer(i)).toString());
response.setHeader("Content-Disposition","attachment; filename="+getFileName(fileURL));
//读取流,送往客户端
byte[] bytes = new byte[4096];
int length = -1;
while ((length = is.read(bytes))!=-1){
//这里使用的是ServletOutputStream对象,用于发送流信息
response.getOutputStream().write(bytes,0,length);
}
is.close();
需要说明就说话
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。