Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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_Jsp_Servlets - Fatal编程技术网

如何用java将特定的桌面文件夹文件上载到服务器

如何用java将特定的桌面文件夹文件上载到服务器,java,jsp,servlets,Java,Jsp,Servlets,我计划用java开发一个web应用程序。我想要这些东西- 首先,我必须在桌面上创建一个文件夹,在这个文件夹中,假设我再创建5个名为a、B、C、D、E的文件夹。现在我想,如果我在文件夹a上添加一些文本或图像文档,那么只有个人 通过用户名和密码(某些密码)登录可以访问此特定文件。和其他文件夹一样。我的意思是,如果管理员创建了5个名为A、B、C、D、E的用户,每个用户都可以访问和下载特定的文件 若管理员将一些新文件放在A文件夹中,那个么当用户通过web应用程序登录时,他只能访问A文件夹中新添加的文件

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

若管理员将一些新文件放在A文件夹中,那个么当用户通过web应用程序登录时,他只能访问A文件夹中新添加的文件

先生,这件事我想做,但我不知道如何开始。 请帮帮我


谢谢。

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

response.setContentType(“图像/jpeg”);
字符串路径=request.getParameter(“文件夹”);
字符串名称=request.getParameter(“文件名”);
/*TODO在此处输出您的页面。您可以使用以下示例代码*/
String filepath=“您的路径”+path+“/”+name,filename=name;
ServletOutputStream out=response.getOutputStream();
FileInputStream in=新的FileInputStream(filepath);
response.addHeader(“内容处置”,
“附件;文件名=”+文件名);
int八位组;
而((八位组=in.read())!=-1){
输出。写入(八位字节);
}
in.close();

out.close()您必须在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>
上载文件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
  }
正确验证后,首先获取
用户名
。从
web.xml
读取文件夹路径。 将
用户名
附加到文件夹路径,检查路径是否存在。 如果路径不存在,则创建路径


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

tnx以获得回复。但只有我必须访问新添加的文件而不进行任何删除。
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
  }