這篇文章主要介紹Java如何實現圖片上傳至服務器功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創新互聯公司專注于永安網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供永安營銷型網站建設,永安網站制作、永安網頁設計、永安網站官網定制、微信平臺小程序開發服務,打造永安網絡公司原創品牌,更為您提供永安網站排名全網營銷落地服務。
具體內容如下
本案例實現圖片上傳功能分為兩個步驟,分別為
(1)APP用base64加密將圖片內容上傳至服務器(http協議),在臨時目錄中先存儲好圖片;
(2)將服務器臨時存儲的圖片用FTP協議上傳至另一臺專門用做存儲圖片的服務器;
/** * ftp 文件操作服務實現類 * */ @Service public class FtpFileServiceImpl implements IFtpFileService { /**ftp 服務器*/ @Value("${PTFSERVER}") private String server; /**Ftp 用戶名*/ @Value("${PTFUSERNAME}") private String uname; /**ftp 密碼*/ @Value("${PTFPWD}") private String pwd; /**本地字符集編碼*/ private static final String LOCAL_CHARSET = "GBK"; /**ftp 服務器字符集編碼*/ private static final String SERVER_CHARSET = "ISO-8859-1"; /** * ftp 文件上傳 */ @Override public void ftpUpload(File srcFile, String fileName, String foldName) { FTPClient ftpClient = new FTPClient(); FileInputStream fis = null; String charset = LOCAL_CHARSET; try { ftpClient.connect(server); ftpClient.login(uname, pwd); fis = new FileInputStream(srcFile); // 設置上傳目錄 ftpClient.changeWorkingDirectory(foldName); ftpClient.setBufferSize(1024); ftpClient.enterLocalPassiveMode(); if (FTPReply.isPositiveCompletion(ftpClient.sendCommand("OPTS UTF8", "ON"))) { // 開啟服務器對UTF-8的支持,如果服務器支持就用UTF-8編碼,否則就使用本地編碼(GBK). charset = "UTF-8"; } ftpClient.setControlEncoding(charset); fileName = new String(fileName.getBytes(charset),SERVER_CHARSET); // 設置文件類型(二進制) ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); ftpClient.storeFile(fileName, fis); } catch (IOException e) { throw new EhospitalServiceException(ResponseCode.RESPONSE_COMMON_ERROR_CODE, "FTP客戶端出錯!", e); } finally { try { ftpClient.disconnect(); } catch (IOException e) { throw new EhospitalServiceException(ResponseCode.RESPONSE_COMMON_ERROR_CODE, "關閉FTP連接發生異常!", e); } } }
以上是“Java如何實現圖片上傳至服務器功能”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
分享標題:Java如何實現圖片上傳至服務器功能
分享URL:http://vcdvsql.cn/article22/iiggcc.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、網站改版、網頁設計公司、關鍵詞優化、軟件開發、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯