Парсер загрузки файлов - PullRequest
0 голосов
/ 05 марта 2020

Мне нужна небольшая помощь, я пытаюсь загрузить содержимое файла JSON в свой код через REST API, я не хочу загружать его, я не хочу загружать его, я просто хочу, чтобы он читать с помощью rest call, где я передаю имя файла:

urls.py

**url(r'^api/postCNMetadata/(?P<filename>[^/]+)$', PostCNMetadataToDB.as_view()),**

viewsets.py

from rest_framework.parsers import FileUploadParser
class PostCNMetadataToDB(APIView):
    '''
    Posting data from json file to DB.
    '''
    parser_classes = (FileUploadParser,)
    def put(self, request, filename, format=None):
        try:
            file_obj = request.FILES['file']
            return Response("success", status = status.HTTP_200_OK)
        except Exception as e:
            return Response("error", status = status.HTTP_404_NOT_FOUND)

Затем я запускаю эту команду:

wget -q -O - --no-check-certificate "http://serverhost:8000/api/postCNMetadata/image-metadata-artifact.json/"

Я не уверен, что я делаю здесь неправильно. Но я получаю эту ошибку:

2020-03-05 12:16:43,400 [INFO][sshtunnel.ForwardServer:34] Server Fowarded extending SocketServer.ThreadingTCPServer parmiko class
/proj/lciadm100/cifwk/my_repo/ERICcifwk/ERICcifw_reporting/django_proj/dmt/infoforConfig.py:9: DeprecationWarning: the sets module is deprecated
  from sets import Set
Traceback (most recent call last):
  File "/usr/lib64/python2.6/wsgiref/handlers.py", line 94, in run
    self.finish_response()
  File "/usr/lib64/python2.6/wsgiref/handlers.py", line 135, in finish_response
    self.write(data)
  File "/usr/lib64/python2.6/wsgiref/handlers.py", line 223, in write
    self._write(data)
  File "/usr/lib64/python2.6/socket.py", line 324, in write
    self.flush()
  File "/usr/lib64/python2.6/socket.py", line 303, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 104] Connection reset by peer
----------------------------------------
Exception happened during processing of request from ('10.59.140.55', 53707)
Traceback (most recent call last):
  File "/usr/lib64/python2.6/SocketServer.py", line 560, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/proj/lciadm100/cifwk/latest/lib/python/django/core/servers/basehttp.py", line 126, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "/usr/lib64/python2.6/SocketServer.py", line 618, in __init__
    self.finish()
  File "/usr/lib64/python2.6/SocketServer.py", line 661, in finish
    self.wfile.flush()
  File "/usr/lib64/python2.6/socket.py", line 303, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------

...