シロのspringbootの旅(十)-springbootのftp
キーワード:springboot,ftp
この記事ではspringbootがどのようにftpファイルのアップロードを実現し、フロントエンドフレームワークでアップロードされた画像を受信し、画像をftpピクチャサーバにアップロードするかについて説明します.もちろん、まずftpサーバを構築する必要があります.
1)pom.xml ftp依存性の追加
2)ftpアップロードツールクラスの作成
3)作成制御層処理ファイルアップロード
4)フロントエンドでlayuiファイルを使ってアップロード Hadoop(一)
朱輝輝33
hadoop linux
maven An error occurred while filtering resources
blackproof
maven 誤報
jdk常用トラブルシューティングコマンド
daysinsun
jvm
JAvaシフト演算と乗算
周凡楊
java へんい えんざん 乗算#ジョウサン#
JAvaでの列挙(enmu)
g21121
java
MQ初級学習
510888780
activemq
Spring_Transactional_Propagation
布衣凌宇
spring transactional
私のspring学習ノート12-idrefとrefの違い
aijuans
spring
アルファベットで分類:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号
この記事ではspringbootがどのようにftpファイルのアップロードを実現し、フロントエンドフレームワークでアップロードされた画像を受信し、画像をftpピクチャサーバにアップロードするかについて説明します.もちろん、まずftpサーバを構築する必要があります.
1)pom.xml ftp依存性の追加
commons-net
commons-net
3.3
2)ftpアップロードツールクラスの作成
package com.xiaoi.document.split.common.utils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.io.InputStream;
/**
* FtpUtil ftp
*
* @Author Yuan Jingshan
* @Date 2018-05-09
*/
@Component
public class FtpUtil {
//ftp ip
private static final String FTP_ADDRESS = "172.16.205.28";
//
private static final int FTP_PORT = 21;
//
private static final String FTP_USERNAME = "gzxiaoiftp";
//
private static final String FTP_PASSWORD = "gzxiaoi";
//
public final String FTP_BASEPATH = "/home/ftp/develop/";
public boolean uploadFile(String originFileName, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
ftp.setControlEncoding("GBK");
try {
int reply;
ftp.connect(FTP_ADDRESS, FTP_PORT);// FTP
ftp.login(FTP_USERNAME, FTP_PASSWORD);//
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.makeDirectory(FTP_BASEPATH);
ftp.changeWorkingDirectory(FTP_BASEPATH);
ftp.storeFile(originFileName, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
}
3)作成制御層処理ファイルアップロード
package com.xiaoi.document.split.management.common.ftp;
import com.xiaoi.document.split.common.utils.FtpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
/**
* FtpUtil ftp
*
* @Author Yuan Jingshan
* @Date 2018-05-30
*/
@Controller
@RequestMapping(value = "/docsplit/ftp")
@Slf4j
public class FtpController {
@Autowired
private FtpUtil ftpUtil;
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public Map, String> uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
Map, String> map = new HashMap<>();
map.put("code", "0");
map.put("msg", " ");
String fileName = file.getOriginalFilename();
log.info(" :{}", fileName);
InputStream inputStream = file.getInputStream();
String filePath = null;
Boolean flag = ftpUtil.uploadFile(fileName, inputStream);
if (flag == true) {
log.info(" !");
filePath = ftpUtil.FTP_BASEPATH + fileName;
map.put("code", "1");
map.put("msg", " ");
}
map.put("path", filePath);
return map; // , ngnix +filePath, ngnix
}
}
4)フロントエンドでlayuiファイルを使ってアップロード
class="layui-form-item">
class="layui-input-block-new-resource">
id="uploadResourceFile" name="title" lay-verify="title" autocomplete="off" class="layui-input" type="text" style="width: 70%; float: left;">
</span><span style="color:#e8bf6a;"> </span><span style="color:#9876aa;">layui</span>.<span style="color:#9876aa;">use</span>(<span style="color:#6a8759;">'upload'</span><span style="color:#cc7832;">, </span><span style="color:#cc7832;"><strong>function</strong></span>(){
<span style="color:#cc7832;"><strong>var </strong></span>upload = <span style="color:#9876aa;">layui</span>.<span style="color:#9876aa;">upload</span><span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span><span style="color:#cc7832;"> </span><span style="color:#808080;">//
</span><span style="color:#808080;"> </span><span style="color:#cc7832;"><strong>var </strong></span>uploadInst = upload.<span style="color:#ffc66d;">render</span>({
<span style="color:#9876aa;">elem</span>: <span style="color:#6a8759;">'#resource_file'</span><span style="color:#cc7832;">, </span><span style="color:#808080;">//
</span><span style="color:#808080;"> </span><span style="color:#9876aa;">url</span>: <span style="color:#9876aa;">$</span>.<span style="color:#9876aa;">common</span>.<span style="color:#ffc66d;">getContextPath</span>() + <span style="color:#6a8759;">'/docsplit/ftp/upload'</span><span style="color:#cc7832;">, </span><span style="color:#808080;">//
</span><span style="color:#808080;"> </span><span style="color:#9876aa;">method</span>: <span style="color:#6a8759;">'POST'</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">accept</span>: <span style="color:#6a8759;">'file'</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">size</span>: <span style="color:#6897bb;">50</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;"> </span><span style="color:#ffc66d;">before</span>: <span style="color:#cc7832;"><strong>function</strong></span>(){
<span style="color:#808080;">// layer.load();
</span><span style="color:#808080;"> </span>}<span style="color:#cc7832;">,
</span><span style="color:#cc7832;"> </span><span style="color:#ffc66d;">done</span>: <span style="color:#cc7832;"><strong>function</strong></span>(res){
<span style="color:#cc7832;"><strong>debugger</strong></span><span style="color:#cc7832;">;
</span><span style="color:#cc7832;"> </span><span style="color:#cc7832;"><strong>if </strong></span>(!!res && <span style="color:#9876aa;">$</span>.<span style="color:#9876aa;">constant</span>.<span style="color:#9876aa;">SUCCESS </span>== res.<span style="color:#9876aa;">code</span>) {
<span style="color:#9876aa;">$</span>(<span style="color:#6a8759;">"#uploadResourceFile"</span>).<span style="color:#ffc66d;">val</span>(res.<span style="color:#9876aa;">path</span>)<span style="color:#cc7832;">;
</span><span style="color:#cc7832;"> </span>} <span style="color:#cc7832;"><strong>else </strong></span>{
<span style="color:#9876aa;">$</span>.<span style="color:#9876aa;">common</span>.<span style="color:#9876aa;">layer</span>.<span style="color:#ffc66d;">msg</span>(res.<span style="color:#ffc66d;">msg</span><span style="color:#cc7832;">,</span>{<span style="color:#9876aa;">icon</span>: <span style="color:#6897bb;">0</span>})<span style="color:#cc7832;">;
</span><span style="color:#cc7832;"> </span>}
}<span style="color:#cc7832;">,</span><span style="color:#ffc66d;">error</span>: <span style="color:#cc7832;"><strong>function</strong></span>(res){
<span style="color:#9876aa;">$</span>.<span style="color:#9876aa;">common</span>.<span style="color:#9876aa;">layer</span>.<span style="color:#ffc66d;">msg</span>(<span style="color:#9876aa;">$</span>.<span style="color:#9876aa;">constant</span>.<span style="color:#9876aa;">EXCEPTION</span><span style="color:#cc7832;">,</span>{<span style="color:#9876aa;">icon</span>: <span style="color:#6897bb;">2</span>})<span style="color:#cc7832;">;
</span><span style="color:#cc7832;"> </span>}
})<span style="color:#cc7832;">;
</span><span style="color:#cc7832;"> </span>})<span style="color:#cc7832;">;</span></pre>
<p>5) </p>
<p><a href="https://img. .com/image/info8/8dfe75baf4ca47ecb8c6f25f4392ff60.jpg" target="_blank"><img src="https://img. .com/image/info8/8dfe75baf4ca47ecb8c6f25f4392ff60.jpg" alt=" springboot ( ) - springboot ftp_ 1 " width="650" height="349" style="border:1px solid black;"></a><br></p>
<p><a href="https://img. .com/image/info8/b3a672b84ffd4fdaabad1b6f4e0ecaa5.jpg" target="_blank"><img src="https://img. .com/image/info8/b3a672b84ffd4fdaabad1b6f4e0ecaa5.jpg" alt=" springboot ( ) - springboot ftp_ 2 " width="650" height="336" style="border:1px solid black;"></a><br></p>
<p><a href="https://img. .com/image/info8/b3eb8a55b6a249359ded3e10cf8ec8f4.jpg" target="_blank"><img src="https://img. .com/image/info8/b3eb8a55b6a249359ded3e10cf8ec8f4.jpg" alt=" springboot ( ) - springboot ftp_ 3 " width="650" height="337" style="border:1px solid black;"></a><br></p>
</div>
</div>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1280609597136060416"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
興味があるかもしれません朱輝輝33
hadoop linux
blackproof
maven 誤報
daysinsun
jvm
周凡楊
java へんい えんざん 乗算#ジョウサン#
g21121
java
510888780
activemq
布衣凌宇
spring transactional
aijuans
spring
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号