今天遇到一个问题:怎样将文件上传到局域网内的另一台机器上,可用以下方式(个人方式,应该还有其他方式)。
1.搭建一台HTTP服务器(例如tomcat),上传文件时直接将文件上传到这台机器上,需要部署用来上传文件的应用。
2.如果是windows系统可以采取最简单的形式来完成文件传输(文件共享)。
这里只说采用windows文件夹共享来实现
1.首先在你想要保存上传文件的计算机上设置文件共享,例如本文共享的是image文件夹:
右键image文件夹 -> 属性 -> 共享 -> 文件和文件夹共享
注:一定要添加Evenyone
用户,并且要给读写
的权限。
共享完成后测试:开始 -> 运行,输入\\提供共享计算机的ip地址\共享文件名称
可打开共享文件价。
2.上传文件的Java代码
private void upHeadImg(HttpServletRequest request,HttpServletResponse response){ Map map=new HashMap(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = multipartRequest.getFile("headImgFile"); String oldName = file.getOriginalFilename(); File localFile = null; String path = ""; String newName = ""; if(oldName.trim() !=""){ System.out.println("fileName---------->" + oldName); newName = UUID.randomUUID().toString().replaceAll("-", "") + new Date().getTime() + oldName; //定义上传路径 // path = "E:\\service_files\\img\\" + newName; path = "\\\\192.168.1.147\\img\\" + newName; localFile = new File(path); try { file.transferTo(localFile); response.getWriter().write("{'fileName':'"+newName+"'}"); } catch (IOException e) { e.printStackTrace(); } } }
注:path = "\\\\192.168.1.147\\img\\" + newName; \\\\后面紧跟着局域网IP地址,后面是共享文件的目录,接下来与操作普通文件一样进行操作