如何将文件上传到localhost

时间:2013-08-28 07:34:38

标签: java localhost

我正在尝试编写一个程序来将特定文件上传到localhost。

让我们说如果文件是(test.txt),结果应该是http://localhost:8080/hostProject/test.txt。 我进行了搜索,发现公共FileUpload可以帮助我,但我不确定如何完成它。

此处的程序独立于hostProject。

3 个答案:

答案 0 :(得分:0)

您可以使用以下代码选择文件。您需要明确以后要对文件执行的操作:

JFileChooser c = new JFileChooser();
            int rVal = c.showOpenDialog(new JPanel());
            if (rVal == JFileChooser.APPROVE_OPTION) {
                inputFile = c.getSelectedFile();
                System.out.println("File Selected : " + inputFile.getName());
            }

答案 1 :(得分:0)

您必须使用多部分HTTP表单上传文件。 你保存的地方取决于你的服务器端代码,但我个人不会把它保存在你的webapp下。

答案 2 :(得分:0)

FileUpload基本上是一个特殊用途的HTTP表单处理程序,它对于处理文件上传很有用,但是这个问题还有另外两个部分,即hostProject servlet和你的客户端。 Servlet 3.0还包括一些内置的多部分处理,因此您可以选择该路由。

如何处理servlet完全取决于您。一些有用的方法是全内存缓存(容易但大小有限,并且不会在重新启动之间保持不变),将文件写入文件系统并使用类似Spring ResourceServlet之类的东西来提供它们其他磁盘文件,或者将它们放在某个数据存储(也许是MongoDB)中,并使用“文件名”作为密钥再次将它们取出。 Spring的MultipartResolver可能有助于构建它。

在您的客户端中,您需要发出常规的HTTP POST请求,就像任何其他HTTP交互一样,并将上传的文件“附加”为多部分实体。

请注意,此功能存在安全风险(您不希望随机用户上传您提供的文件),因此您需要确保在FileUpload servlet上拥有足够的安全控制权限