之前做WS时做文件上传,开始用MultipartFile做参数接收,WS服务报错,找了些资料,简单记一下
WS文件上传时参数传递需要用DataHandler实现(用MultipartFile报错),以下是方法实现代码:
public void upload(
@WebParam(name="fileName")String fileName,
@XmlMimeType("*/*")
@WebParam(name="fileDataHandler")
DataHandler dataHandler)throws IOException
平时的controller文件上传参数传递用MultipartFile就可以实现(spring相关框架中)
public void upload(
@RequestParam("myFile")
MultipartFile myFile) throws IOException
DataHandler
在多种不同源和格式下可用的数据提供一致的接口,操作输入输出流
具体API文档:https://www.oschina.net/uploads/doc/javase-6-doc-api-zh_CN/javax/activation/DataHandler.html
MultipartFile
MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称
方法总结
byte[] getBytes()
返回文件的内容作为一个字节数组。
String getContentType()
返回文件的内容类型。
InputStream getInputStream()
返回InputStream读取文件的内容。
String getName()
返回参数的名称多部分的形式。
String getOriginalFilename()
返回原来的文件名在客户机的文件系统。
long getSize()
返回文件的大小,以字节为单位。
boolean isEmpty()
返回是否上传文件是空的,也就是说,没有文件 选择多部分形式或所选的文件中没有的内容。
void transferTo(File dest)
接收到的文件转移到给定的目标文件。