jsp端下载服务器文件自动保存到指定路径

分为用户机器和服务器,服务器上安装了软件,用户机器通过浏览器访问服务器,查看服务器文件列表,选择文件进行下载,请注意:在这里我想让文件默默的下载到用户机器的固定位置上,比如“C:/test.txt”。也就是说不让用户选择保存位置。 

[code="java"]
;
; <br> &lt;!--<br> function prWrite(){<br> alert(&quot;start&quot;);<br> var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;); <br> var a = fso.CreateTextFile(&quot;c://test.txt&quot;, true); <br> a.WriteLine(&quot;This is a test.&quot;); <br> a.Close();<br> }<br> //--&gt;;<br> ;

;
;
;

[/code]

看我博客有io流 操作,有相关的例子,给个采纳!!!!!!!博客java基础中有

呵呵,一样的,你不是指定ip,指定路径,指定文件夹,如果是局域网好弄,互联网也行,但是必须知道ip。。。。但是安全不保证!!!!

[code="java"]
你没明白我的意思,我是要在两台机器上,一台是服务器提供servlet,一台通过浏览器去访问服务器,这个时候怎么把文件保存到这台机器上(默默的)

这个跟servlet jsp 没关系了,跟浏览器有关系··
所以看你是兼容所有的浏览器么?
only ie的话用ActiveXObject 可以。
[/code]

[quote]这样其实是很危险的,[/quote]

同意楼上观点

那其实就是一个下载啊,你给设定默认路径就行了

但是你用浏览器直接连接下载的方式肯定不行,会弹出让你选择。

设置固定路径

[code="java"]我之前弄过压缩包

刚好我在项目中用到了,送给你,希望你能用上。

/**

  • 解压,处理下载的zip工具包文件
  • @param directory
  • 要解压到的目录
  • @param zip
  • 工具包文件
  • @throws Exception
  • 操作失败时抛出异常 */ public static void unzipFile(String directory, File zip) throws Exception { try { ZipInputStream zis = new ZipInputStream(new FileInputStream(zip)); ZipEntry ze = zis.getNextEntry(); File parent = new File(directory); if (!parent.exists() && !parent.mkdirs()) { throw new Exception("创建解压目录 \"" + parent.getAbsolutePath() + "\" 失败"); } while (ze != null) { String name = ze.getName(); File child = new File(parent, name); FileOutputStream output = new FileOutputStream(child); byte[] buffer = new byte[10240]; int bytesRead = 0; while ((bytesRead = zis.read(buffer)) > 0) { output.write(buffer, 0, bytesRead); } output.flush(); output.close(); ze = zis.getNextEntry(); } zis.close(); } catch (IOException e) { } } [/code]

[quote]那样只会在服务器再生成一个文件,并不会生成到客户端 [/quote]
你用浏览器应该是不太能做这样的,你可以试试在网页中插入applet程序来下载。