Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java服务器程序-将文件写入客户端的特定文件夹_Java_Sockets - Fatal编程技术网

Java服务器程序-将文件写入客户端的特定文件夹

Java服务器程序-将文件写入客户端的特定文件夹,java,sockets,Java,Sockets,我正在写一个Java服务器程序。目前,我正在使用DataOutputStream将文件输出到请求的客户端或浏览器。我希望将文件发送到客户端的特定目录,而不仅仅是浏览器(我不希望编写客户端程序来处理此问题)。如何使服务器程序将文件写入客户端的特定目录 提前感谢服务器对客户端一无所知,允许服务器在客户端目录上写入文件或任何内容也不是一个好主意,因为这是一个Http安全问题,并且不允许服务器在访问其网页的用户机上写入病毒、更改属性等 所以,您可以做的是,客户端可以向服务器发送请求,服务器将在客户端(例

我正在写一个Java服务器程序。目前,我正在使用
DataOutputStream
将文件输出到请求的客户端或浏览器。我希望将文件发送到客户端的特定目录,而不仅仅是浏览器(我不希望编写客户端程序来处理此问题)。如何使服务器程序将文件写入客户端的特定目录


提前感谢

服务器对客户端一无所知,允许服务器在客户端目录上写入文件或任何内容也不是一个好主意,因为这是一个Http安全问题,并且不允许服务器在访问其网页的用户机上写入病毒、更改属性等

所以,您可以做的是,客户端可以向服务器发送请求,服务器将在客户端(例如,浏览器而不是目录)上写入文件,并返回一些mime类型。现在浏览器可以在浏览器中处理并向客户端显示的mime类型很少。然后,客户可以根据自己的选择将其下载或丢弃到其计算机上的任何目录

下面是一些您可以在服务器端编写的代码,以实现我上面所说的:

        OutputStream out = response.getOutputStream();
        File file = new File(path_to_a_file);
        response.setContentType(file_content_type);
        response.setHeader("Content-disposition","attachment; filename="+FILE_NAME);
        FileInputStream inputStream = new FileInputStream(FILE);
        //Read bytes and write until finished

你在谷歌上找不到这个吗?可能是重复的:我已经在客户端搜索下载文件的方法3天了。但是没有用。或者我的谷歌技能已经消失了。谢天谢地,你不能这么做。我也在想同样的话。但不知道内容处置标头。先生,我非常感谢您:D。。谢谢!!(工作正常顺便说一句:)很高兴,我能帮上忙:)有没有办法下载该文件并在浏览器中查看它?您的浏览器需要有可供查看的扩展名。例如,当你打开pdf时,它们会在浏览器中打开(但最终它们会在客户端下载,但只是在浏览器中查看)啊,我明白了。知道了。我一直认为服务器应该做所有的事情。谢谢你的帮助:)