java FTP批量上传图片

来源:互联网 发布:手机田亩测量仪软件 编辑:程序博客网 时间:2024/05/11 16:52

     在准备FTP上传之前,我们需要准备好2件事情

  1 安装ftp的服务  我安装的是server-u   http://xiazai.jb51.net/server/HA-ServU-LDR.rar
              安装好server-u服务后  设置登陆的账号密码,上传的目录等

          2 java代码部分 


 public class Constant { public static final class FTP{    public static final String FTP_SERVER = "10.16.16.114";//上传ftp服务器的地址public static final String FTP_USER = "javaweb";//ftp的账号pub<pre name="code" class="java">/*** 处理表单内容*/ private void processFormField(FileItem item, PrintWriter pw)throws Exception {String name = item.getFieldName();String value = item.getString();pw.println(name + " : " + value + "\r\n");map.put(name, value);}

lic static final String FTP_PASSWORD = "2474z80p";//上传的密码public static final String FTP_DIR_PATH = "\\zhangliangFile\\apache-tomcat-6.0.41\\webapps\\ilife\\images\\";//要上传的路径public static final String FTP_PIC_SERVER = "http://10.16.16.114:8080/ilife/images/";//配置上传的地方} } public class UploadFtpServerServlet extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { doPost(request, response); } private String fileName; public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/plain;charset=gbk"); PrintWriter pw = response.getWriter(); String photoURL = null; try { Thread.sleep(2000); } catch (InterruptedException e1) {// TODO Auto-generated catch blocke1.printStackTrace(); } try {DiskFileItemFactory diskFactory = new DiskFileItemFactory(); // threshold 极限、临界值,即硬盘缓存 1MdiskFactory.setSizeThreshold(4 * 1024); // repository 贮藏室,即临时文件目录 // diskFactory.setRepository(new File(tempPath)); ServletFileUpload upload = new ServletFileUpload(diskFactory); // 设置允许上传的最大文件大小 4M upload.setSizeMax(4 * 1024 * 1024);// 解析HTTP请求消息头 List fileItems = upload.parseRequest(request); Iterator iter = fileItems.iterator(); while (iter.hasNext()) {FileItem item = (FileItem) iter.next(); if (item.isFormField()) { System.out.println("处理表单内容 ..."); processFormField(item, pw); } else { System.out.println("处理上传的文件 ...");fileName = map.get("UUID") + System.currentTimeMillis()+ ".jpg"; processUploadFile(item, pw, fileName); // 上传图片 photoURL = Constant.FTP.FTP_PIC_SERVER + map.get("picType") + "/" + fileName; } } // 執行保存上傳圖片的名稱和文件 System.out.println("the map is " + map); // end while() pw.close(); } catch (InvalidContentTypeException e) { System.out.println("没有上传图片"); e.printStackTrace(); } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { pre name="code" class="java"> // System.out.println("the photoURL is " +photoURL); }}// end doPost()/*** 处理表单内容*/ private void processFormField(FileItem item, PrintWriter pw)throws Exception {String name = item.getFieldName();String value = item.getString();pw.println(name + " : " + value + "\r\n");map.put(name, value);}/*** 处理上传的文件*/private void processUploadFile(FileItem item, PrintWriter pw,String fileName) throws Exception {// 此时的文件名包含了完整的路径,得注意加工一下String filename = item.getName();InputStream in = item.getInputStream();String path = map.get("picType");SeforgeFtpUtil ftp = new SeforgeFtpUtil(Constant.FTP.FTP_DIR_PATH+ path, fileName, in, path);ftp.start(); } }
</pre><pre name="code" class="java">
</pre><pre name="code" class="java"> 
</pre><pre name="code" class="java">/****************************************************************************************************/
package com.ismartinfo.ilife.api.util;import java.io.IOException;import java.io.InputStream;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;public class SeforgeFtpUtil  extends Thread {public SeforgeFtpUtil(){
}public SeforgeFtpUtil(String path, String filename, InputStream input,String type){this.path = path; this.filename = filename; this.input = input; this.type = type; } private static String address = "42.96.176.23"; private static int port = 21;//<span style="white-space:pre"></span>private static String name = "imgftp";//<span style="white-space:pre"></span>private static String pwd = "SjjL#4Bz";//<span style="white-space:pre"></span>public static String server = "http://42.96.176.23";//<span style="white-space:pre"></span>private static Logger log = Logger.getLogger(SeforgeFtpUtils.class);<span style="white-space:pre"></span>public static void main(String[] args) {//<span style="white-space:pre"></span>SeforgeFtpUtils.printInfo();<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>public static void printInfo()//<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>FTPClient ftp = new FTPClient();//<span style="white-space:pre"></span>try {//<span style="white-space:pre"></span>ftp.connect(address, port);//<span style="white-space:pre"></span>ftp.login(name, pwd);//<span style="white-space:pre"></span>boolean b = true;//<span style="white-space:pre"></span>int reply = ftp.getReplyCode();//<span style="white-space:pre"></span>if (!FTPReply.isPositiveCompletion(reply)) {//<span style="white-space:pre"></span>ftp.disconnect();//<span style="white-space:pre"></span>b = false;//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>////////System.out.println("[connection login test:" + (b?"ok":reply)+"]");//<span style="white-space:pre"></span>} catch (Exception e) {//<span style="white-space:pre"></span>} finally//<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>try {//<span style="white-space:pre"></span>ftp.logout();//<span style="white-space:pre"></span>ftp.disconnect();//<span style="white-space:pre"></span>} catch (Exception e) {//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>}<span style="white-space:pre"></span>//<span style="white-space:pre"></span>static{//<span style="white-space:pre"></span>try //<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>address = Config.getInstance().getImgserver();//<span style="white-space:pre"></span>port = Config.getInstance().getImgport();//<span style="white-space:pre"></span>name = Config.getInstance().getImgaccount();//<span style="white-space:pre"></span>pwd = Config.getInstance().getImgpassword();//<span style="white-space:pre"></span>} //<span style="white-space:pre"></span>catch (Exception e) //<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>////////System.out.println(e);//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>//<span style="white-space:pre"></span>}<span style="white-space:pre"></span>//<span style="white-space:pre"></span>public static boolean uploadFile(String path, String filename, String file,boolean isdel) {//<span style="white-space:pre"></span>File f = new File(file);//<span style="white-space:pre"></span>return uploadFile(path, filename, f, isdel);//<span style="white-space:pre"></span>}<span style="white-space:pre"></span>//<span style="white-space:pre"></span>public static boolean uploadFile(String path, String filename, File file,boolean isdel) {//<span style="white-space:pre"></span>boolean f = false;//<span style="white-space:pre"></span>try {//<span style="white-space:pre"></span>FileInputStream fis = new FileInputStream(file);//<span style="white-space:pre"></span>f = uploadFile(path, filename, fis,);//<span style="white-space:pre"></span>if(f&&isdel)//<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>file.delete();//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>} catch (Exception e) {//<span style="white-space:pre"></span>e.printStackTrace();//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>return f;//<span style="white-space:pre"></span>}<span style="white-space:pre"></span>//<span style="white-space:pre"></span>public static boolean uploadFile(String path, String filename, String src) {//<span style="white-space:pre"></span>try {//<span style="white-space:pre"></span>File file = new File(src);//<span style="white-space:pre"></span>if(file.exists())//<span style="white-space:pre"></span>{//<span style="white-space:pre"></span>FileInputStream fis = new FileInputStream(file);//<span style="white-space:pre"></span>return uploadFile(path, filename, fis);//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>} catch (FileNotFoundException e) {//<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>return false;//<span style="white-space:pre"></span>}<span style="white-space:pre"></span><span style="white-space:pre"></span>/**<span style="white-space:pre"></span> * FTP锟较达拷<span style="white-space:pre"></span> * <span style="white-space:pre"></span> * @param path<span style="white-space:pre"></span> *            FTP锟斤拷路锟斤拷<span style="white-space:pre"></span> * @param filename<span style="white-space:pre"></span> *            锟较达拷锟襟保达拷锟斤拷募锟斤拷锟�<span style="white-space:pre"></span> * @param input<span style="white-space:pre"></span> *            锟侥硷拷锟斤拷<span style="white-space:pre"></span> * @return<span style="white-space:pre"></span> */<span style="white-space:pre"></span>public static boolean uploadFile(String path, String filename, InputStream input,String type) {<span style="white-space:pre"></span>boolean success = false;<span style="white-space:pre"></span>FTPClient ftp = new FTPClient();<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>int reply;//<span style="white-space:pre"></span><span style="white-space:pre"></span>String address = Constant.FTP.FTP_SERVER;<span style="white-space:pre"></span>    int port = Constant.FTP.FTP_PORT;<span style="white-space:pre"></span>    String name = Constant.FTP.FTP_USER;//"imgftp";<span style="white-space:pre"></span>    String pwd =Constant.FTP.FTP_PASSWORD;// "wyyimg";<span style="white-space:pre"></span>ftp.connect(address, port);<span style="white-space:pre"></span>ftp.login(name, pwd);<span style="white-space:pre"></span>reply = ftp.getReplyCode();<span style="white-space:pre"></span>if (!FTPReply.isPositiveCompletion(reply)) {<span style="white-space:pre"></span>ftp.disconnect();<span style="white-space:pre"></span>return success;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>ftp.setControlEncoding("utf-8");<span style="white-space:pre"></span>ftp.setFileType(FTPClient.BINARY_FILE_TYPE);<span style="white-space:pre"></span>System.out.println("the path is " +path);<span style="white-space:pre"></span>System.out.println(ftp.mkd(path));<span style="white-space:pre"></span>   ftp.changeWorkingDirectory(path);// 杞Щ鍒癋TP鏈嶅姟鍣ㄧ洰褰�  <span style="white-space:pre"></span>   <span style="white-space:pre"></span> //<span style="white-space:pre"></span>ftp.setFileType(FTPClient.IMAGE_FILE_TYPE);<span style="white-space:pre"></span>//System.out.println("******************************111*****************************************");<span style="white-space:pre"></span>//System.out.println("the ftp.getStatus(); is " + ftp.getStatus());<span style="white-space:pre"></span>//System.out.println("***********************************************************************");<span style="white-space:pre"></span>   <span style="white-space:pre"></span>ftp.storeFile(filename, input);<span style="white-space:pre"></span>ftp.logout();<span style="white-space:pre"></span>success = true;<span style="white-space:pre"></span>} catch (IOException e) {<span style="white-space:pre"></span>e.printStackTrace();//<span style="white-space:pre"></span>log.error("鍥剧墖涓婁紶澶辫触:",e);<span style="white-space:pre"></span>} finally {<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>if (ftp.isConnected()) {<span style="white-space:pre"></span>ftp.disconnect();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>if (input != null) {<span style="white-space:pre"></span>input.close();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>} catch (IOException ioe) {<span style="white-space:pre"></span>ioe.printStackTrace(); <span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>//<span style="white-space:pre"></span>Thumbnail thumbail;//<span style="white-space:pre"></span>try {//<span style="white-space:pre"></span>thumbail = new Thumbnail(Global.FTP.PIC_STATIC_PATH+type+File.separator+filename);//<span style="white-space:pre"></span>thumbail = new Thumbnail("C:\\Users\\k178613133\\Desktop\\jfxq@2x.png");////<span style="white-space:pre"></span>thumbail.getSrcWidth()<span style="white-space:pre"></span>;//<span style="white-space:pre"></span>thumbail.getSrcHeight();//<span style="white-space:pre"></span>thumbail.resizeByHeight(100);//<span style="white-space:pre"></span>} catch (IOException e) {//<span style="white-space:pre"></span>// TODO Auto-generated catch block//<span style="white-space:pre"></span>e.printStackTrace();//<span style="white-space:pre"></span>}<span style="white-space:pre"></span>return success;<span style="white-space:pre"></span>}//<span style="white-space:pre"></span>public static FTPClient getFTPClient(Config config) {//<span style="white-space:pre"></span>return getFTPClient(Config.getInstance().getServer(), Config.getInstance().getPort(), Config.getInstance().getAccount(), Config.getInstance().getPassword());//<span style="white-space:pre"></span>}<span style="white-space:pre"></span><span style="white-space:pre"></span>public static FTPClient getFTPClient(String serverAddr, int port, String account, String password) {<span style="white-space:pre"></span>FTPClient ftp = new FTPClient();<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>int reply;<span style="white-space:pre"></span>ftp.connect(serverAddr, port); <span style="white-space:pre"></span>ftp.login(account, password); <span style="white-space:pre"></span>reply = ftp.getReplyCode();<span style="white-space:pre"></span>if (!FTPReply.isPositiveCompletion(reply)) {<span style="white-space:pre"></span>ftp.disconnect();<span style="white-space:pre"></span>return ftp;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>ftp.enterLocalPassiveMode();<span style="white-space:pre"></span>ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);<span style="white-space:pre"></span>ftp.setFileType(FTPClient.BINARY_FILE_TYPE);<span style="white-space:pre"></span>} catch (IOException e) {//<span style="white-space:pre"></span>log.error("锟斤拷取FTPClient锟斤拷锟�,[" + serverAddr + ":" + port + "][" + account + ":" + password + "]", e);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>return ftp;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>public static void disconnect(FTPClient ftp) {<span style="white-space:pre"></span>if (ftp != null && ftp.isConnected()) {<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>ftp.logout();<span style="white-space:pre"></span>ftp.disconnect();<span style="white-space:pre"></span>} catch (IOException ioe) {<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span><span style="white-space:pre"></span>public void run(){<span style="white-space:pre"></span>uploadFile(path,filename,input,type);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>private String path;<span style="white-space:pre"></span>private String filename;<span style="white-space:pre"></span>private InputStream input;<span style="white-space:pre"></span>private String type;}
                                             
0 0
原创粉丝点击