2017-01-25 1 views
0

私は、注文作成中にユーザーがファイルをアップロードするプロジェクトに取り組んでいます。ファイルはAJAXを通じてviewに送信され、次に返される単語の数が認識されます。Django - アップロードされた(メモリ)ファイルから一時的な(ディスク上の)ファイルを作る方法?

この目的のために、textractモジュールを使用します。問題は、textract.process(filepath)引数としてメモリアップロードされたファイルを追加する方法を見つけられなかったことです。filepathfileではないからです。

私はこのファイルを一時的にドライブに保存し、このファイルへのパスをprocess機能に送信する必要があると思います。

@csrf_exempt 
def ajax_file_word_count(request): 
    from SolutionsForLanguages import word_counter 
    file = request.FILES.get('file') 
    count = word_counter.count_words(file) 
    return JsonResponse({'word_count': count}) 

言葉を数えた後すぐにファイルを削除するにはどうすればよいですか?

答えて

0

pythons tempfileモジュールを見てください。これを使用して一時ファイルを作成し、そのファイルオブジェクトのパスプロパティを使用して、ファイルパスを取得して目的の関数に渡すことができます。私はそれが動作するはずだとし、一時ファイルを削除することができますね。

関連する問題