java本地上传图片到阿里云服务器的共享文件夹

来源:互联网 发布:淘宝晒单福利图2000p 编辑:程序博客网 时间:2024/05/17 02:59
阿里云服务器需要开放139,445端口,但是这样做极不安全,容易被黑客攻击。
参考链接 点击打开链接
import jcifs.smb.SmbFile;import jcifs.smb.SmbFileOutputStream;
public boolean uploadPic(MultipartFile file) {InputStream in = null;OutputStream out = null;try {String host = "47.92.XXX.XX";// 远程服务器的地址String username = "Administrator";// 用户名String password = "XXXXXXXXXX";// 密码String path = "/Users/Administrator/Desktop/upload/";// 远程服务器共享文件夹名称String fileName = file.getOriginalFilename();String type = fileName.indexOf(".") != -1? fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()): null;if (type != null) {if ("GIF".equals(type.toUpperCase()) || "PNG".equals(type.toUpperCase())|| "JPG".equals(type.toUpperCase())) {String trueFileName = String.valueOf(System.currentTimeMillis()) + fileName;String remoteUrl = "smb://" + username + ":" + password + "@" + host + path+ (path.endsWith("/") ? "" : "/");SmbFile remoteFile = new SmbFile(remoteUrl + "/" + trueFileName);remoteFile.connect();in = new BufferedInputStream(file.getInputStream());out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));byte[] buffer = new byte[4096];int len = 0;while ((len = in.read(buffer, 0, buffer.length)) != -1) {out.write(buffer, 0, len);}out.flush();}}} catch (Exception e) {String msg = "发生错误:" + e.getLocalizedMessage();System.out.println(msg);} finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (Exception e) {}}return false;}

 
原创粉丝点击