python代码
import requests
import time
if __name__=='__main__':
url = 'http://localhost:8080/bb'
filename='666.mp4'
fileurl = '../static/' + filename
files = {'video': (filename, open(fileurl, 'rb'))}
time.sleep(3)
response = requests.request(method="POST", url=url,files=files, verify=False)
print('aa',response)
注意里面的video,代表的是post里面的参数名。可以和下面的spring代码合起来看
springboot代码:
@PostMapping("/bb")
@ResponseBody
public String getbb(MultipartFile video, HttpServletRequest request){
log.info("进入到getbb");
return "ccc";
}
上传文件较大时控制:
spring.servlet.multipart.max-file-size =100MB
spring.servlet.multipart.max-request-size=100MB
postman请求:
![4a020164e9a091c00ba627b58beeabf5.png](https://i-blog.csdnimg.cn/blog_migrate/38d23afeab1afcee1b2019468d301e65.jpeg)
请求头
![0929e51db72fffa6d6aca6f6f7f82e01.png](https://i-blog.csdnimg.cn/blog_migrate/efe0ad5ed350f3d667d984739037ee44.jpeg)
请求体
遇到的问题:
robotframework调用上传文件接口报错“the request was rejected because no multipart boundary was found”blog.csdn.net![821166fb85d41c76809994698740197c.png](https://i-blog.csdnimg.cn/blog_migrate/37aabdba9db34d011ac9582826e8f107.png)
这个是不应该自己去控制header里面的contenttype,request会帮我们控制。
然后就是video参数没接收到文件,就是没控制前面的参数名。要加其它参数的话可以参考
Python -- post方式上传文件 的data字段。