将文件下载到客户端系统中的特定位置
下面是我写的代码我要下载文件,现在我需要将文件下载到客户端系统中的特定位置。我将通过用户的输入获取路径。 我知道混淆客户端系统并不好,但我必须这样做
//setting the content type of response response.setContentType("application/"+strFileType); response.setHeader("content-disposition","attachment; filename="+strFileName+"."+strFileType); //creating a file input stream object InputStream input = blob.getBinaryStream(); //declaring a variable int i; while((i=input.read())!=-1) { //writing output printWriter.write(i); } //closing the streams input.close(); printWriter.close();
我知道混淆客户端系统并不好,但我必须这样做….
好消息( 从用户的角度来看! )是你无法做到的。 即使你“必须”。 Web浏览器专门用于阻止您(服务器端)执行此类操作。
唯一可以解决的问题是在TRUSTED浏览器插件或applet中实现function,或者用户必须在他/她的机器上专门安装的function。
…在哪里使用从用户获取的路径,我正在编程这就像ftp,但服务器端是一个数据库
问题是浏览器没有办法判断你是出于合法目的这样做了……还是试图破坏系统/用户文件,植入恶意软件或可能对用户有害的任何其他东西。
它不会冒险让你这样做,这是一件好事。
这需要更新浏览器的文件下载位置,[ 注意:如果我们更新这个,所有文件都将下载到该路径]
请参考以下链接,您可能会得到这个想法:
如何在firefox中更改下载文件夹destenation?
如何在Mac上的Safari,Firefox等浏览器中以编程方式检查下载文件夹的位置?
如果您在Intranet内并且可以信任服务器,请使用具有授予访问权限的applet或类似技术……但再一次这真的很糟糕。