需求:
项目部署于A服务器上,访问upload.jsp,上传图片.jpg。。。。。
后台接收处理,将图片存放于B服务器上。图片存放位置是根据程序不定的存放于不同的自动生成的文件夹
目前困惑:怎么获取到远程服务器地址,使之成为我图片上传的路径
现在的思路,有人介绍用jcifs-1.1.11.jar,这个可以在远程服务器上创建文件夹
实现代码:
- Java code
try{ SmbFile smbFile2=new SmbFile("smb://administrator:mypupa95@10.2.0.95/e$/bb"); smbFile2.mkdirs(); in.close(); }catch(Exception e){ e.printStackTrace(); }
以前用的上传代码是这样的:
- Java code
public String upload(String dir, FormFile formFile) throws Exception { Date date = new Date(); //取欲上传的文件的名字和长度 String fname = formFile.getFileName(); //将上传时间加入文件名 int i = fname.indexOf("."); String name = String.valueOf(date.getTime()); String type = fname.substring(i + 1); fname = name + "." + type; InputStream in = formFile.getInputStream(); //获得上传文件的InputStream File uploadFile = new File(dir); //创建把上传数据写到目标文件的对象 if (!uploadFile.exists() || uploadFile == null) { //判断指定路径是否存在,不存在则创建路径 uploadFile.mkdirs(); } String path = uploadFile.getPath() + "/" + fname; FileOutputStream fout = new FileOutputStream(path); System.out.println("fout:"+fout); byte buffer[] = new byte[8192]; int count = 0; //开始向上传路径中刚建立的文件写入数据,每次写8K字节 while((count = in.read(buffer)) > 0){ fout.write(buffer, 0, count); } in.close(); fout.close(); formFile.destroy(); //上传成功后销毁当前上传文件的资源 return fname; //返回图片名称 }
不知道该怎么结合了,希望大家能指点一下。。或者如果有其他的办法也可以。。谢谢
------解决方案--------------------
文件上传可以使用apache的开源jar包upload.jar,网上很多例子,可以google下。
另外,存到服务器上,如果想从服务器上获取文件,只需要能根据文件名称找到文件在服务器上的绝对路径就可以了,然后通过File读取文件流,写给客户端,那么在浏览器上会自动提示您去保存文件。
------解决方案--------------------
两种方式
1.使用共享网络磁盘的形式,在当前的服务器简历一个另一台服务器的网络磁盘,直接操作读写这个网络磁盘即可
2.使用FTP操作另外这台服务器
------解决方案--------------------
学习的。。。。
------解决方案--------------------
http://java.chinaitlab.com/net/803563_2.html
------解决方案--------------------
学习一下..