Django 如何将inmemory文件转换为文件对象

Django 如何将inmemory文件转换为文件对象,django,Django,我上传了一个文件,然后试图读取它,但我得到了 TypeError: expected str, bytes or os.PathLike object, not InMemoryUploadedFile 我的查看功能是 def upload(request,pk): if request.method == 'POST': form = UploadFileForm(request.POST, request.FILES) if form.is_vali

我上传了一个文件,然后试图读取它,但我得到了

TypeError: expected str, bytes or os.PathLike object, not InMemoryUploadedFile
我的查看功能是

def upload(request,pk):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            filehandle=request.FILES['file']

            if filehandle:
                print("File recieved")
            workbook = xlrd.open_workbook(filehandle)
            worksheet = workbook.sheet_by_index(0)
            rows = []
            #Some Operartion
            workbook.close()
            return HttpResponseRedirect('/products/')

你可以这样试试。open_工作簿可以通过.read()通过参数文件内容从请求中读取您的文件

import xlrd

def upload(request,pk):
    if request.method == 'POST':
        filehandle=request.FILES['file']
        workbook = xlrd.open_workbook(filename='test.xlsx', file_contents=filehandle.read())
        worksheet = workbook.sheet_by_index(0)