отправлять файлы на сервер django с сервера flask через библиотеку запросов, содержащую файлы изображений - PullRequest
0 голосов
/ 03 марта 2020

Я использую свой flask сервер для публикации на django сервере, все, что я вижу, это пустой загруженный файл в django. я не хочу сохранять файл на сервере flask, все, что я хочу, - это непосредственно прочитать файл и отправить в django через библиотеку запросов.

flask код: ----

def upload():
    if request.method == 'POST':
       data = {}
       count = 1
       for i in request.files.getlist('files'):
          data[count] = (i.stream.read())
          count += 1
       r = requests.post("http://127.0.0.1:9000/upload/files/",files=data) #it will post to upload_json function in djnago

мой django код: -

@csrf_exempt
def upload_json(request):
    if request.method == 'POST':
        print(request.FILES)
        print(request.headers)
        print(request.POST)

моя django консольная печать: -----

  [[03/Mar/2020 14:53:03] "POST /upload/files/ HTTP/1.1" 500 58063
  <MultiValueDict: {'1': [<InMemoryUploadedFile: 1 ()>], '2': [<InMemoryUploadedFile: 2 ()>]}>

  {'Content-Length': '367434', 'Content-Type': 'multipart/form-data;  boundary=9c79604fbd576719cfa0fd53ef6b5ad6', 'Host': '127.0.0.1:9000', 'User-Agen
   t': 'python-requests/2.23.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

  <QueryDict: {}>

, если я использую почтальон для публикации того же файлы, которые я получаю, это правильно

  <MultiValueDict: {'file': [<InMemoryUploadedFile: Devil.jpg (image/jpeg)>, <InMemoryUploadedFile: wp2.jpg (image/jpeg)>]}>
  {'Content-Length': '367612', 'Content-Type': 'multipart/form-data;    boundary=-----------------262290824726058', 'Secretkey': '123q
   weasd', 'User-Agent': 'PostmanRuntime/7.22.0', 'Accept': '*/*', 'Cache-   Control': 'no-cache', 'Postman-Token': '585ddd1b-42b0-4cae-9648-7e2488da516f
   ', 'Host': '127.0.0.1:9000', 'Accept-Encoding': 'gzip, deflate, br',  'Cookie': 'sessionid=zg34jha0glqv96nfkpovth', 'Connection': 'keep-alive'}
   <QueryDict: {}>
...