JSP文件另存为对话框 100
我现在做了一个系统,是JSP自动生成系统,现在唯一没做好的模块就是当用户选好要生成的数据库字段后,一点生成按钮,就弹出另存为的路径选择对话框,以获得文件输出路径。不知道如...
我现在做了一个系统,是JSP自动生成系统,现在唯一没做好的模块就是当用户选好要生成的数据库字段后,一点生成按钮,就弹出另存为的路径选择对话框,以获得文件输出路径。不知道如何实现,主要是要获得用户的生成路径
展开
4个回答
展开全部
1.使用CommandDialog作为选择对话框
2.使用FSO对象来写文件
<OBJECT id=cDialog codeBase=http://activex.microsoft.com/controls/vb5/comdlg32.cab
height=0px width=0px classid=CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB></OBJECT>
<SCRIPT language=javascript>
function SaveDocument(){
cDialog.CancelError=true;
try{
cDialog.Filter="HTM Files (*.htm)|*.htm|Text Files (*.txt)|*.txt"
cDialog.ShowSave();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.CreateTextFile(cDialog.filename, true);
f.write(document.body.innerHTML);
f.Close();
sPersistValue=document.body.innerHTML;}
catch(e){
var sCancel="true";
return sCancel;}
}
</SCRIPT>
<BUTTON onclick=SaveDocument();>保存</BUTTON>
2.使用FSO对象来写文件
<OBJECT id=cDialog codeBase=http://activex.microsoft.com/controls/vb5/comdlg32.cab
height=0px width=0px classid=CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB></OBJECT>
<SCRIPT language=javascript>
function SaveDocument(){
cDialog.CancelError=true;
try{
cDialog.Filter="HTM Files (*.htm)|*.htm|Text Files (*.txt)|*.txt"
cDialog.ShowSave();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.CreateTextFile(cDialog.filename, true);
f.write(document.body.innerHTML);
f.Close();
sPersistValue=document.body.innerHTML;}
catch(e){
var sCancel="true";
return sCancel;}
}
</SCRIPT>
<BUTTON onclick=SaveDocument();>保存</BUTTON>
展开全部
try {
//关于文件下载时采用文件流输出的方式处理:
//加上response.reset(),并且所有的%>后面不要换行,包括最后一个;
response.reset();//可以加也可以不加
response.setContentType("application/x-download");
String filedownload = request.getParameter("zippath");
String filedisplay = request.getParameter("zipFileName");
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filedisplay, "UTF-8"));
OutputStream outp = response.getOutputStream();
FileInputStream in = new FileInputStream(filedownload);
byte[] b = new byte[1024];
int i = 0;
while ((i = in.read(b)) > 0) {
outp.write(b, 0, i);
}
outp.flush();
outp.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请教lz该问题是否得到解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主 请问有这个问题的具体代码吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询