求助-python+requests 上传文件接口测试,返回报错问题

python+requests 测试 上传文件接口,为什么会返回报错:Required request part ‘uploadFile’ is not present.
使用postman和jmeter都是可以成功的,但是jmeter里需要在高级配置中设置Implementation为java,不然也是返回这个报错



你的接口我们能访问到吗?

强烈建议你用二进制模式(binary mode)打开文件。这是因为 requests 可能会为你提供 header 中的 Content-Length,在这种情况下该值会被设为文件的字节数。如果你用文本模式打开文件,就可能碰到错误。
如:files = (‘images’, (‘foo.png’, open(‘foo.png’, ‘rb’), ‘image/png’))

你上传文件的参数名字不是叫 uploadFile 么?
image
这个key的部分 需要设置为上传文件参数的参数名
不然对方咋知道你传递的文件是给哪个参数了。。

外网访问不了

那个参数改成uploadFile也不行呢

啊,看错了,这不是我的帖子啊,不过我也遇到这个问题了 :rofl:

没事,借着这个帖子进行问题处理好也是OK的,目前的问题在哪,能远程到你的电脑吗

就还是上传不了,可以远程,我开了向日葵就可以了

感谢各位老师和同学对这个问题关注和帮助,我这边最后解决了这个问题,通过删除了header里面的 content-type解决,网上也有查很多资料,说是如果上传文件,不用这个content-type了 :https://stackoverflow.com/questions/44794835/messagerequired-request-part-file-is-not-present

好的 发一下授权码我看看

按刚才楼主的回复删除掉content-type解决了,what fuck!之前好了好几天没搞定,都放弃了,原来解决方法就是这么简单。之前还故意给header更新了content-type :sweat_smile

感谢回复,终于解决了。我都放弃了 :sweat_smile:

谢谢 :grinning:

是的,这里要改成uploadFile

我之前也是查了几天,快放弃时,就上学院发帖 :joy:

按楼主说的删除了content-type就好了 :sob: