一、上传时同时带上文件与其它参数
public JsonResult<void> submitBook(HttpServletRequest req,@RequestParam("picFile") MultipartFile file,Long bookBaseId,String isbn,String name,String author,String publishCompany){
这里的MultipartFile是spring mvc里的类
那么PostMan怎么配置请求参数?
header不用设置。
二、只上传文件,没有参数名
controller取文件代码:
DataInputStream dataStream = new DataInputStream(request.getInputStream()); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据 int rc = 0; while ((rc = dataStream.read(buff, 0, 100)) > 0) { outStream.write(buff, 0, rc); } dataStream.close(); byte[] byteData = outStream.toByteArray(); outStream.flush();
这里用的是request.getInputStream来获取文件,来看看postman的配置:
这次要设置一下header,如图:
要注意的是Content-Length参数必须有,而且值要准确,否则request.getInputStream方法就会报错或获取不了正确的文件。
那这个值是怎么来的,可以new File(xx.jpg).length()获取的值填到这里。
从这些参数的配置,是不是能学到一些http协议的参数的用法?