From fe3b0f4a3c46892f08421dd4c4d0937fb8a87f93 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 06 六月 2023 17:55:10 +0800
Subject: [PATCH] 优化代码
---
java110-core/src/main/java/com/java110/core/client/FtpUploadTemplate.java | 94 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/client/FtpUploadTemplate.java b/java110-core/src/main/java/com/java110/core/client/FtpUploadTemplate.java
index ba1a4a6..6df6f82 100755
--- a/java110-core/src/main/java/com/java110/core/client/FtpUploadTemplate.java
+++ b/java110-core/src/main/java/com/java110/core/client/FtpUploadTemplate.java
@@ -79,9 +79,6 @@
} else if (imageBase64.contains("data:application/octet-stream;base64,")) {
imageBase64 = imageBase64.replace("data:application/octet-stream;base64,", "");
fileName += ".jpg";
- } else if (imageBase64.contains("mp4") || imageBase64.contains("MP4") || imageBase64.contains("AVI") || imageBase64.contains("avi")
- || imageBase64.contains("WMV") || imageBase64.contains("wmv")) {
- fileName += ".mp4";
} else {
fileName += ".jpg";
}
@@ -166,6 +163,60 @@
return fileName;
}
+ /*
+ *鏂囦欢涓婁紶宸ュ叿鏂规硶
+ */
+ public String upload(InputStream inputStream, String server, int port,
+ String userName, String userPassword, String fileName) {
+ FTPClient ftpClient = null;
+ String ftpPath = "/";
+
+ if(fileName.contains("/")){
+ ftpPath = fileName.substring(0,fileName.lastIndexOf("/")+1);
+ }
+
+ try {
+ // request.setCharacterEncoding("utf-8");
+
+ ftpClient = new FTPClient();
+ if (!ftpClient.isConnected()) {
+ ftpClient.connect(server, port);
+ }
+ ftpClient.login(userName, userPassword);
+ ftpClient.enterLocalPassiveMode();
+ ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
+ mkDir(ftpClient, ftpPath);// 鍒涘缓鐩綍
+ // 璁剧疆涓婁紶鐩綍 must
+ ftpClient.changeWorkingDirectory(ftpPath);
+
+ if (FTPReply.isPositiveCompletion(ftpClient.sendCommand("OPTS UTF8", "ON"))) {// 寮�鍚湇鍔″櫒瀵筓TF-8鐨勬敮鎸侊紝濡傛灉鏈嶅姟鍣ㄦ敮鎸佸氨鐢║TF-8缂栫爜锛屽惁鍒欏氨浣跨敤鏈湴缂栫爜锛圙BK锛�.
+ LOCAL_CHARSET = "UTF-8";
+ }
+ //fileName = new String(uploadFile.getOriginalFilename().getBytes(LOCAL_CHARSET), SERVER_CHARSET);
+ /*fileName = id + "-" + fileName;// 鏋勫缓涓婁紶鍒版湇鍔″櫒涓婄殑鏂囦欢鍚� 20-鏂囦欢鍚�.鍚庣紑*/
+ FTPFile[] fs = ftpClient.listFiles(fileName);
+ if (fs.length == 0) {
+ System.out.println("this file not exist ftp");
+ } else if (fs.length == 1) {
+ System.out.println("this file exist ftp");
+ ftpClient.deleteFile(fs[0].getName());
+ }
+ boolean saveFlag = ftpClient.storeFile("/"+fileName, inputStream);
+ if (!saveFlag) {
+ throw new IllegalArgumentException("瀛樺偍鏂囦欢澶辫触");
+ }
+ } catch (Exception e) {
+ logger.error("涓婁紶鏂囦欢澶辫触", e);
+ throw new IllegalArgumentException("涓婁紶鏂囦欢澶辫触");
+ } finally {
+ try {
+ ftpClient.disconnect();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return fileName;
+ }
/*
*鏂囦欢涓嬭浇宸ュ叿鏂规硶
*/
@@ -349,4 +400,41 @@
return false;
}
}
+
+
+ public InputStream download(String fileName, String server, int port, String userName, String userPassword) {
+ InputStream is = null;
+ ByteArrayOutputStream bos = null;
+ ByteArrayInputStream fis = null;
+ FTPClient ftpClient = new FTPClient();
+ try {
+ if (!ftpClient.isConnected()) {
+ ftpClient.connect(server, port);
+ }
+ ftpClient.login(userName, userPassword);
+ ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
+ ftpClient.enterLocalPassiveMode();
+ int reply = ftpClient.getReplyCode();
+ if (!FTPReply.isPositiveCompletion(reply)) {
+ ftpClient.disconnect();
+ }
+ String f = new String(
+ ("/"+fileName).getBytes("GBK"),
+ FTP.DEFAULT_CONTROL_ENCODING);
+ is = ftpClient.retrieveFileStream(f);// 鑾峰彇杩滅▼ftp涓婃寚瀹氭枃浠剁殑InputStream
+ if (null == is) {
+ throw new FileNotFoundException(fileName);
+ }
+
+ } catch (Exception e) {
+ logger.error("ftp閫氳繃鏂囦欢鍚嶇О鑾峰彇杩滅▼鏂囦欢娴�", e);
+ } finally {
+ try {
+ closeConnect(ftpClient);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return is;
+ }
}
--
Gitblit v1.8.0