python - 带有上传文件和标头的 HTTP Post 请求适用于 Postman,但不适用于 python
问题描述
如果我上传邮递员发送的有效负载,它会显示没有文件上传错误,并且我尝试通过添加新的自定义有效负载对代码进行的任何更改仅显示相同的错误。
@app.route('/Upload', methods=["POST"])
def upload(sql) :
name = sql["name"]
version = sql["version"]
url = "https://dod-orasenatdhubsblue02.blockchain.ocp.oraclecloud.com:443/console/admin/api/v1/chaincodes/upload"
with open('C:\\Users\\Ravi\\Documents\\chaincodes\\generic\\generic.go', "rb") as file:
payload = file.read()
values = {
'Content-Disposition' : 'form-data',
'chaincodeId' : 'test30',
'chaincodeVersion' : 'v1',
'chaincodeIndexes' : '[]',
'myfile' :{
'value': 'generic.go',
'options': {
'filename' : file ,
'Content-Type' : False ,
'type' : 'file'
}
}
}
headers = {
'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
'content-Type': "application/octet-stream",
'Authorization': "Basic YXBpLnVzZXI6UXdlcnR5MTIzNDU2QA==",
}
response = requests.post(url,data=values,headers=headers)
print(response.text)
错误跟踪:
127.0.0.1 - - [07/Mar/2019 20:21:41] "POST /blockchain/Upload HTTP/1.1" 500 -
* Detected change in 'C:\\Users\\Ravi\\Documents\\upload.py', reloading
* Restarting with stat
* Debugger is active!
* Debugger PIN: 903-210-066
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
{"respMesg":"no file uploaded"}
解决方案
我不知道这是否是错误,但您缺少网址末尾的语音标记。
url = " https://dod-orasenatdhubsblue02.blockchain.ocp.oraclecloud.com:443/co
您可以看到 url 在开头有语音标记,但在结尾没有。
推荐阅读
- python - tensorflow-model-analysis 0.13.2 和 0.13.1 版不在 python2 中运行
- android - 如何从 Datasnapshot 中获取图像的 URI
- java - java - 如何在Java Spring中的不同请求中使用相同的SET实例
- ansible - Ansible:使用循环变量的序列范围
- javascript - fb.init fb 未定义
- r - R:不识别新表中的列
- docker - docker swarm 服务,将 args 传递给 swarm 中的单个副本
- firebase - 来自 Microsoft Azure 的 Firebase signInWithCredentials
- angular - 如何从 iframe 登录获取响应到 Angular 应用程序
- vue.js - 如何使用 Parcel 导入 cordova.js