如何在java中将特定的桌面文件夹文件上传到服务器上

时间:2014-11-21 10:25:42

标签: java jsp servlets

我计划用java开发一个Web应用程序。我想要这些东西 -  首先,我必须在桌面上创建一个文件夹,在这个文件夹中假设我创建了另外5个文件夹,其名称为A,B,C,D,E.now我想要,如果我在文件夹A上添加一些文本或图像文档,那么只有这个人 通过用户名A登录和密码(某些密码)可以访问此特定文件。与其他文件夹相同的东西。我的意思是,如果管理员创建5个用户的名称为A,B,C,D,E。每个用户都可以访问和下载它的特定文件。

如果管理员在A中的文件夹中放入了一些新文件,那么当用户A通过Web应用程序登录时,他只能访问文件夹A中的新添加文件。

先生,我想做的事情,但如何发起我不知道。 请帮帮我。

感谢。

2 个答案:

答案 0 :(得分:0)

试试这个。您只需发送要下载的文件夹和文件名。如果您可以从会话中获取路径,则可以更安全地为您创建的用户提供登录ID。如果您上传新数据,则删除该文件夹并创建新文件。那时您只有一个最新数据。我认为它对您有帮助



        response.setContentType("image/jpeg");       
        String path = request.getParameter("folder");
        String name = request.getParameter("filename");
        /* TODO output your page here. You may use following sample code. */
        String filepath = "Your path" + path + "/" + name, filename = name;
        ServletOutputStream out = response.getOutputStream();
        FileInputStream in = new FileInputStream(filepath);
        response.addHeader("content-disposition",
                "attachment; filename=" + filename);
        int octet;
        while ((octet = in.read()) != -1) {
            out.write(octet);
        }
        in.close();
        out.close();




答案 1 :(得分:0)

您必须在web.xml中提供根文件夹的路径,以便您的servlet可以访问它。文件夹应位于服务器的安装文件夹

之外
<servlet>
   <servlet-name>CreateFolder</servlet-name>
   <servlet-class>pckg.CreateFolder</servlet-class>
</servlet>

<context-param>
        <param-name>ParentFolder</param-name>
        <param-value>/z/y/x/users</param-value>
</context-param>

<context-param>
        <param-name>FileName</param-name>
        <param-value>xyz.png</param-value>
</context-param>

CreateFolder Servlet: -

private String userFolder;

public void init(ServletConfig config) {
    userFolder= getServletContext().getInitParameter("ParentFolder");
}

public doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException){

     String userName = request.getParameter("UserName");
     String location=""


          if(userName != null){
              location +="/"+userName;
               if (!location .exists()) {
                 location .mkdirs(); //If does not exists then create folder
                }
       }

 }

UploadFile Servlet: -

private String userFolder;
private String fileName;
public void init(ServletConfig config) {
    userFolder= getServletContext().getInitParameter("ParentFolder");
    fileName= getServletContext().getInitParameter("FileName");
}

public doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException){

     String userName = request.getParameter("UserName");
     String location=""


          if(userName != null){
              location +="/"+userName;
               if (!location .exists()) {
                   UploadeFile(location );
                }
       }

 }


 private void UploadeFile(String location ){

    String file = location+"/"+fileName;
    //Code to upload the file

    MoveFile(file);//Move to different location
  }

首先在正确验证后获取UserName。从web.xml读取文件夹路径。 将UserName附加到文件夹路径,检查路径是否存在。 如果path不存在,则创建Path。

将文件上传到用户。成功完成上传后,将文件移动到其他位置。因此,下次用户登录系统时,他只会看到新的文档。