请问高手,我想做一个下载功能,比如:web聊天工具,将好友上传的文件保存在服务器的WebRoot下面,我在页面上提供下载链接,当好友点击链接时,js控制出现window的选择保存所在的文件夹对话框,然后将保存路径上传服务器。我的难点是:貌似html的《input type=“file"》标签只能选择文件,不能选择文件夹?请高手指点,如何做一个下载选择路径的控件。还有,貌似我的想法只能将文件下载在服务器的硬盘上,如何实现客服端下载,下载文件在客户端的自己的硬盘呢?WebJavaScriptHTML服务器

解决方案 »

  1.   


    input type=file 用于文件上传不是下载,选择的是客户端的文件,上传后被服务器可以获得并保存。
    文件下载可以用很简单的方式window.open,a标签 都可以,当然这种简单方式有缺陷,比如如果是图片之类文件,就直接在浏览器中打开了而不是下载,也无法判断文件是否存在。要做下载最好的方法是服务端先读取文件,再Response写到客户端至于你说的先选择路径,传到服务端再直接把文件保存到客户端路径下的想法是违背web安全性的,能实现的话就没人敢上网了,而且服务器也没办法获取客户端的路径,就算input type=file上传文件后,服务端也得到的也只是文件名而不是文件路径