利用WebService传输文件,实际上就是客户端将文件先做成比特流,然后调用webservice接口,服务端再将比特流还原成文件,这样就可以上传文件,我这里利用的是xfire的一个数据处理类(DataHandler):
<span style="font-size:14px;"> /**
* 上传文件
*
* @param handler
* 处理方式
* @param fileName
* 上传文件名称
* @return 返回0表示上传成功,-1 表示上传失败
*/
public int uploadFile(DataHandler handler, String fileName) {
//获取request对象
HttpServletRequest request = XFireServletController.getRequest();
String realPath = request.getSession().getServletContext().getRealPath("/");
String path = realPath+ "uploads"+File.separator+"file"+File.separator;
OutputStream os = null;
try {
String newFile = path + fileName; // 上传文件存放路径
os = new FileOutputStream(new File(newFile));
handler.writeTo(os);
os.flush();
} catch (Exception e) {
e.printStackTrace();
return -1;
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrac
WebService利用XFire实现文件上传

本文介绍了如何使用WebService来实现文件上传。通过将文件转化为比特流,客户端调用webservice接口,服务端接收到比特流后再恢复为文件。在这个过程中,xfire的数据处理类DataHandler起到了关键作用。配置包括在服务端的bean中启用MTOM(Message Transmission Optimization Mechanism)以及在客户端设置相关属性以支持比特流传输。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



