问题
requests 库上传文件时,发现不需要指定header 中的content-type ,删除后,发现接口中报错,提示找不到文件
抓包
通过python的请求和postman正常的请求中,发现post中参数稍微有些不一致
py中请求后, name=‘file’
postman请求后,name=‘image’
那么这到底是哪里传入的呢
代码
file_data = {‘file’: (‘1234.jpg’, open(‘1234.jpg’, ‘rb’))}
以此方式传入时,则key=file, 对应到 post参数体重上传时,name=‘file’,
而后端开发是name=‘image’ 来查找 这个图片是不是存在的, 由此就报错了哈,当然了,如果上传excel这种,类型还应该是file的
再说一句: 如果后端不校验这个参数, 其实这里一点毛病也没有哈,file类型就可以了,不用修改
修改,问题就解决了
file_data = {‘image’: open(filepath, ‘rb’)}