1、工具jar包依赖
<dependency>
	    <groupId>jcifs</groupId>
	    <artifactId>jcifs</artifactId>
	    <version>1.3.17</version>
	</dependency>
2、代码如下
package com.zbb.util;
 
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;
 
import org.springframework.web.multipart.MultipartFile;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
 
/**
 * 通过SMB协议发送文件到远程服务器
 *
 */
public class SMBUtil {
     
    private String url = "";
    private SmbFile smbFile = null;
    private SmbFileOutputStream smbOut = null; 
    private static SMBUtil smb = null;
 
    /**
     * 得到SMB和连接的方法
     * @param url
     * @return
     */
    public static synchronized SMBUtil getInstance(String url) { 
      if(smb == null) 
          return new SMBUtil(url); 
      return smb; 
    } 
 
    private SMBUtil(String url) { 
        this.url = url; 
        this.init(); 
    } 
 
    public void init() {
        try {
           System.out.println("connecting...url:" + this.url); 
           smbFile = new SmbFile(this.url); 
           if(!smbFile.exists()){
        	   smbFile.mkdirs();
           }
           smbFile.connect(); 
           System.out.println("connect successfu...url:" + this.url); 
        }catch (MalformedURLException e) { 
           e.printStackTrace(); 
        }catch (IOException e) { 
           e.printStackTrace(); 
        } 
    }
 
    /**
     * 上传文件到服务器
     * @param file
     * @return
     */
    public int uploadFile(File file) {
        int flag = -1; 
        BufferedInputStream bf = null; 
        try{
            this.smbOut = new SmbFileOutputStream(this.url + "/" + file.getName(), false); 
            bf = new BufferedInputStream(new FileInputStream(file)); 
            byte[] bt = new byte[8192]; 
            int n = bf.read(bt); 
            while (n != -1){ 
                this.smbOut.write(bt, 0, n); 
                this.smbOut.flush(); 
                n = bf.read(bt); 
            } 
            flag = 0; 
            System.out.println("file transmission complete..."); 
        }catch(SmbException e) { 
            e.printStackTrace(); 
        }catch(MalformedURLException e) { 
            e.printStackTrace(); 
        }catch(UnknownHostException e) { 
            e.printStackTrace(); 
        }catch(IOException e) { 
            e.printStackTrace(); 
        }finally{
            try { 
                if(null != this.smbOut) 
                    this.smbOut.close(); 
                if(null != bf) 
                    bf.close(); 
            }catch(Exception e2) { 
                e2.printStackTrace(); 
            } 
        } 
        return flag;
    } 
    
    /**
     * 上传文件到服务器
     * @param file
     * @return
     */
    public int uploadFile(MultipartFile file,String fileName) {
        int flag = -1; 
        BufferedInputStream bf = null; 
        try{
            this.smbOut = new SmbFileOutputStream(this.url + "/" + fileName, false); 
            bf = new BufferedInputStream(file.getInputStream()); 
            byte[] bt = new byte[8192]; 
            int n = bf.read(bt); 
            while (n != -1){ 
                this.smbOut.write(bt, 0, n); 
                this.smbOut.flush(); 
                n = bf.read(bt); 
            } 
            flag = 0; 
            System.out.println("file transmission complete..."); 
        }catch(SmbException e) { 
            e.printStackTrace(); 
        }catch(MalformedURLException e) { 
            e.printStackTrace(); 
        }catch(UnknownHostException e) { 
            e.printStackTrace(); 
        }catch(IOException e) { 
            e.printStackTrace(); 
        }finally{
            try { 
                if(null != this.smbOut) 
                    this.smbOut.close(); 
                if(null != bf) 
                    bf.close(); 
            }catch(Exception e2) { 
                e2.printStackTrace(); 
            } 
        } 
        return flag;
    } 
 
     
    public static void main(String[] args) {
        SMBUtil smb = SMBUtil.getInstance("smb://用户名:密码@服务器IP/COMMODITY"); 
        File file = new File("E://服务器信dd息.txt");
        smb.uploadFile(file);//上传文件 
    }
}
3、配置信息
user_name=administrator
user_pwd=akjq55**+6
user_ip=23.234.5.146
pan=d
folder=yhyhImageAddress
原文:http://www.cnblogs.com/swite/p/5813903.html