import requests
defsendimg
(img_path, img_name, img_type=
'image/jpeg'):
""" :param img_path:的路徑
:param img_name:的名稱
:param img_type:的型別,這裡寫的是image/jpeg,也可以是png/jpg
"""url =
''# 自己想要請求的介面位址
with
open
(img_path + img_name,
"rb"
) body =
# 上傳的時候,不使用data和json,用files
response = requests.post(url=url, files=body)
.json
return response
if __name__==
'__main__'
:# 上傳
res = sendimg(img_path, img_name)
# 呼叫sendimg方法
print
(res)
**如果上傳是陣列時,value直接寫路徑就可以**
檔案上傳:上傳的型別是file,用到頭部資訊# "content-type": "multipart/form-data; boundary=76a22e30da2bb7790828887966871012"
from urllib3 import encode_multipart_formdata
import requests
defsendfile
(filename, file_path)
:"""
:param filename:檔案的名稱
:param file_path:檔案的絕對路徑
"""url =
""# 請求的介面位址
with
open
(file_path, mode=
"r", encoding=
"utf8"
)as f:
# 開啟檔案
file=
encode_data = encode_multipart_formdata(
file)
file_data = encode_data[0]
# b'--c0c46a5929c2ce4c935c9cff85bf11d4\r\ncontent-disposition: form-data; name="file"; filename="1.txt"\r\ncontent-type: text/plain\r\n\r\n...........--c0c46a5929c2ce4c935c9cff85bf11d4--\r\n
headers_from_data =
# token是登陸後給的值,如果你的介面中頭部不需要上傳字段,就不用寫,只要前面的就可以
# 'content-type': 'multipart/form-data; boundary=c0c46a5929c2ce4c935c9cff85bf11d4',這裡上傳檔案用的是form-data,不能用json
response = requests.post(url=url, headers=headers_from_data, data=file_data)
.json(
)return response
if __name__==
'__main__'
:# 上傳檔案
res = sendfile(filename, file_path)
# 呼叫sendfile方法
print
(res)
利用webservice介面上傳檔案
利用webservice介面上傳檔案,並將檔案內容儲存在資料庫中,資料庫表儲存檔案的型別為二進位制大字段 kenda 一 web service端 新建 專案 asp.net web服務應用程式 public class service system.web.services.webservice ...
Spring Cloud Feign 介面上傳檔案
最近在使用spring cloud封裝的feign,自己在專案中暴露的feign介面中有乙個介面是上傳檔案的,使用了常規的 requsetparam去獲取,然後報錯 the current request is not a multipart request然後以為是自己前端使用layui沒有指定上...
HttpClient請求介面上傳檔案以及引數
得到的是json型別的資料需要第三方解析json的jar包來解析 return result private void addfiles multipartentitybuilder entitybuilder,hashmapfiles for string name files.keyset pr...