Django join()给出InMemoryUploadFile错误

Django join()给出InMemoryUploadFile错误,django,django-rest-framework,django-file-upload,Django,Django Rest Framework,Django File Upload,我已经编写了一个POST api来发布一个文件。我想打开文件并解析文件中的JSON内容。但是行os.path.join()似乎不起作用。我得到“'InMemoryUploadedFile'对象没有属性'startswith'”异常。包含了下面使用的代码 def schedule_load(file_name): print file_name file_json = default_storage.open(os.path.join("schedule_files", file_

我已经编写了一个POST api来发布一个文件。我想打开文件并解析文件中的JSON内容。但是行os.path.join()似乎不起作用。我得到“'InMemoryUploadedFile'对象没有属性'startswith'”异常。包含了下面使用的代码

def schedule_load(file_name):
    print file_name
    file_json = default_storage.open(os.path.join("schedule_files", file_name), 'r')
    var = file_json.read()
    print var
    file_json.close()
    schedule = json.loads(var)
我的发帖方法:

@api_view(['POST'])
def post_schedule(request):
print "post_schedule"
if request.method == 'POST':
    print "if POST"
    form = ScheduleForm(request.POST, request.FILES)
    file_name = form['schedule_file'].value()

    if form.is_valid():
        print "is_valid"
        form.save()
        schedule_load(file_name)
        return JsonResponse({"status": "success"}, status=status.HTTP_200_OK)
    else:
        return JsonResponse({"status": "Invalid file"}, status=status.HTTP_200_OK)

因为您要处理的是MemoryUploadedFile中的
,而不是文件名。您的代码应该随着时间的推移而更改

def schedule_load(file_name):
    var = file_name.read()
    print var