webservice上传文件

webservice接口实现文件上传

直接上代码:

服务提供方:

接口:

public String WebfileUploud(@WebParam(name = "resume")Resume resume);

实体:

package com.hb.kfcenter.kfFlow.models;

import javax.activation.DataHandler;

/**
 * WebService进行文件上传 : 上传文件对象类
 * @author admin1
 */
public class Resume {
	private String candidateName;   
    private String resumeFileType;   
    private DataHandler resume;  
    public String getCandidateName() {  
        return candidateName;  
    }  
    public void setCandidateName(String candidateName) {  
        this.candidateName = candidateName;  
    }  
    public String getResumeFileType() {  
        return resumeFileType;  
    }  
    public void setResumeFileType(String resumeFileType) {  
        this.resumeFileType = resumeFileType;  
    }  
    public DataHandler getResume() {  
        return resume;  
    }  
    public void setResume(DataHandler resume) {  
        this.resume = resume;  
    }  
	
}

实现:

	// 文件上传到服务器
	public static String WebfileUploud(Resume resume) {
	 String saveFilePath = "图片路径"
		DataHandler handler = resume.getResume();
		String msg = "";
		OutputStream os = null;
		InputStream is = null;
		try {
			is = handler.getInputStream();
			File saveFile = new File(saveFilePath);
			if (!saveFile.getParentFile().exists()) {
				saveFile.getParentFile().mkdirs();
			}
			os = new FileOutputStream(saveFile);
			byte[] b = new byte[100000];
			int bytesRead = 0;
			while ((bytesRead = is.read(b)) != -1) {
				os.write(b, 0, bytesRead);
			}
			os.flush();
			os.close();
			is.close();
		} catch (Exception e) {
			msg = e.getMessage();
			e.printStackTrace();
		}
		return msg;
	}

客户端:

package com.hb.kfcenter.kfFlow.ws;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

public class Test0722 {
	public static void main(String[] args) throws ServiceException {
		
		
		Resume resume = new Resume();  
        resume.setCandidateName("你好");  
        resume.setResumeFileType("png");  
        byte[] bytes = File2byte(new File("C:/Users/admin1/Desktop/pdf/111.png"));
        resume.setResume(bytes);
        
        
		ExternalWsLocator locater = new ExternalWsLocator();
		// 测试地址
		String url =   "http://localhost:8080/kfDeploy/csp/services/sr/c_hbdx_ci_serRequest";
		locater.setExternalWebserviceImplPortEndpointAddress(url);
		ExternalWebservice ews = locater.getExternalWebserviceImplPort();
		String webfileUploud = null;
		try {
			webfileUploud = ews.createProblemProcessWithFile(getXml(), resume);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		System.out.println("成功-------" + webfileUploud);
	}
    public static byte[] File2byte(File tradeFile){
        byte[] buffer = null;
        try
        {
            FileInputStream fis = new FileInputStream(tradeFile);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            byte[] b = new byte[1024];
            int n;
            while ((n = fis.read(b)) != -1)
            {
                bos.write(b, 0, n);
            }
            fis.close();
            bos.close();
            buffer = bos.toByteArray();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
        return buffer;
    }
    
    public static String getXml(){
    	StringBuilder xml1 = new StringBuilder();
    	xml1.append("<?xml version='1.0' encoding='utf-8'?>"   );
    	xml1.append("<confirmProcess>"   );
    	xml1.append("<nbrType>tel</nbrType>"   );
    	xml1.append("<srTypeId>070009002</srTypeId>"   );
    	xml1.append("<subsName>何红丽</subsName>"   );
    	String nbr  = "17771222375";
		xml1.append("<subsNumber>"+nbr+"</subsNumber>"   );
    	xml1.append("<callerNo>17771222361</callerNo>"  );
    	xml1.append("<contactPerson></contactPerson>"   );
    	xml1.append("<contactMode></contactMode>"   );
    	xml1.append("<contactPhone1>17771222361</contactPhone1>" );
    	xml1.append("<contactPhone2></contactPhone2>"   );
    	xml1.append("<email></email>"   );
    	xml1.append("<address></address>"  );
    	xml1.append("<subsLevel>0星</subsLevel>"   );
    	xml1.append("<subsBrand></subsBrand>"  );
    	xml1.append("<acceptMode></acceptMode>"   );
    	xml1.append("<acceptStaffNo>3601</acceptStaffNo>"  );
    	xml1.append("<serviceTitle></serviceTitle>"  );
    	xml1.append("<serviceContent>test</serviceContent>"  );
    	xml1.append("<acceptCity></acceptCity>"   );
    	xml1.append("<subsCity>1006</subsCity>"   );
    	xml1.append("<serviceCity></serviceCity>"  );
    	xml1.append("<urgentId></urgentId>"  );
    	xml1.append("<contactChannel>51</contactChannel>"   );
    	xml1.append("<flowId></flowId>"   );
    	xml1.append("<contactId>111111111111111</contactId>"   );
    	xml1.append("<prodId></prodId>"  );
    	xml1.append("<servId></servId>"  );
    	xml1.append("<remark01></remark01>"   );
    	xml1.append("<remark02></remark02>"   );
    	xml1.append("<remark03></remark03>"   );
    	xml1.append("<remark04></remark04>"   );
    	xml1.append("<remark05></remark05>"   );
    	xml1.append("<remark06></remark06>"   );
    	xml1.append("<remark07></remark07>"   );
    	xml1.append("<remark08></remark08>"   );
    	xml1.append("<remark09></remark09>"   );
    	xml1.append("<remark10></remark10>"   );
    	xml1.append("</confirmProcess>"   );
    	return xml1.toString();
    }
}

以上文件 删减部分 所有需要自己修改使用

注意一点 客户端调用,是2进制

byte[] bytes = File2byte(new File(“C:/Users/admin1/Desktop/pdf/111.png”));
resume.setResume(bytes);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心系代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值