bugfix> django > 投稿

誰もがアップロードされたファイルのコンテンツを変換する方法を知っていますか( InMemoryUploadedFile )Django2で文字列に?

次の convert2string() の書き方を知りたい :

uploaded_file = request.FILES['file']
my_xml = convert2string(uploaded_file)  # TODO write method(convert to xml string)
obj = MyObject()
parser = MyContentHandler(obj)
xml.sax.parseString(my_xml, parser)  # or xml.sax.parse(convertType(uploaded_file), parser)

回答 1 件
  • str(uploaded_file.read()) を試す   InMemoryUploadedFile を変換する   str へ  

    uploaded_file = request.FILES['file']
    print(type(uploaded_file))  # <class 'django.core.files.uploadedfile.InMemoryUploadedFile'>
    print(type(uploaded_file.read()))  # <class 'bytes'>
    print(type(str(uploaded_file.read())))  # <class 'str'>
    
    


    更新-1
    テキストファイル( .txt.json  など)以下のように、

    my text line 1
    my text line 2
    my text line 3
    
    

    あなたの見解は

    def my_view(request):
        uploaded_file = request.FILES['file']
        str_text = ''
        for line in uploaded_file:
            str_text = str_text + line.decode()  # "str_text" will be of `str` type
        # do something
        return something
    
    

あなたの答え