日期:2014-05-18  浏览次数:20640 次

让下载文件的另存为默认文件名与页面上显示的文件名相同
这样一个问题,我有一个文件名叫a.txt文件在页面上显示的名字叫“AA”,在他后面加上一个另存为的按钮,当点击另存为按钮的时候,弹出另存为窗口显示的默认文件名为“AA”而不是a。  
<a   href= "a.txt "> AA   </a>       <INPUT   TYPE= "submit "   value= "另存为 "/>


------解决方案--------------------
除非你把显示的文件名储存起来,然后在另存为的时候设置一下,不知道你用什么,我用SmartUpload的时候里面有个函数可以直接用:
public void downloadFile(String sourceFileName,String contentType,String destFileName) 其中的destFileName就是默认的另存为的名字
------解决方案--------------------
文件流--》jsp的out流

------解决方案--------------------
<%@page language= "java " contentType= "application/x-msdownload " import= "java.io.*,java.net.* " pageEncoding= "gb2312 "%>
<%
response.setContentType( "application/x-download ");//设置为下载application/x-download
// String filenamedownload = "/系统解决方案.doc ";//即将下载的文件的相对路径
String filenamedownload= "e:/a.txt ";
String filenamedisplay = "系统解决方案.txt ";//下载文件时显示的文件保存名称
filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8 ");
if(true){

}
response.addHeader( "Content-Disposition ", "attachment;filename= " + filenamedisplay);

try
{
RequestDispatcher dispatcher = application.getRequestDispatcher(filenamedownload);
if(dispatcher != null)
{
dispatcher.forward(request,response);
}
response.flushBuffer();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{

}
%>
------解决方案--------------------
dfd
------解决方案--------------------
<%@page language= "java " contentType= "application/x-msdownload " import= "java.io.*,java.net.* " pageEncoding= "gb2312 "%>
<%
response.setContentType( "application/x-download ");//设置为下载application/x-download
// String filenamedownload = "/系统解决方案.doc ";//即将下载的文件的相对路径
String filenamedownload= "e:/a.txt ";
String filenamedisplay = "系统解决方案.txt ";//下载文件时显示的文件保存名称
filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8 ");
if(true){

}
response.addHeader( "Content-Disposition ", "attachment;filename= " + filenamedisplay);

try
{
RequestDispatcher dispatcher = application.getRequestDispatcher(filenamedownload);
if(dispatcher != null)
{
dispatcher.forward(request,response);
}
response.flushBuffer();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{

}
%>

这是正确的,我以前也做过
------解决方案--------------------
----------------------
是这样的
我是想在页面上也能显示出
AA (另存为)
点击另存为后,弹出窗口,保存文件的默认名为:AA,但其实保存的真实文件是a.txt。
就象知道,上面的那段JSP怎么结合着点击 另存为 按钮在页面上体现出来。
---------------------------------------
那你把文件名改了不就可以了?
不明白,你到底想做什么啊?

------解决方案--------------------
同意楼上