Webservice XFire 客户端上传文件

本文介绍了一种通过客户端将XML信息转换为字符串并利用dom4j解析的方法,以及一种针对大型文件的分块上传机制,包括客户端如何将文件转换为Base64编码并逐块发送,以及服务器端如何接收并还原这些文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


如果是XML文件,我们可以协议客户端请求时将XML信息组织成String ,服务器端返回的String 再用dom4j工具解析成XML。

如果是大型文件,在这里提供一种方式实现文件的上传。

							byte tempBype[] = new byte[100*1024];
												FileInputStream in = new FileInputStream(file);

												int cnt = -999;
												while(true){
													cnt = in.read(tempBype);
													String tempBase ="";
													writeLogger("发送请求数据==========="+ cnt);
													if(cnt != -1){
														tempBase = Base64.encode(tempBype);	
													}
													writeLogger("1发送请求数据==========="+ cnt);
													result1 = port.receiveTCDatasetFile(file.getName(), tempBase, cnt);
													if(cnt==-1)break;
												}

 2.服务器端接收

 

	//filename PR-000023.pdf buffSize 1MB offset -1表示结束

	public String receiveTCDatasetFile(String fileName, String buffStr,int offset) {
		String strTmpDirPath ="C:\\service\\"+fileName;
		File file = new File(strTmpDirPath);
		try {
			FileOutputStream fos = new FileOutputStream(file,true);
			if(offset==-1){//表示传递完成
				fos.close();return "yes";
			}
			byte[] buffSize = Base64.decode(buffStr);
			int size=buffSize.length;
			fos.write(buffSize, 0, size);
		
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "no";
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值