0

我正在上传图片,但它不起作用的功能是:在视图中

 def upload_file(request):
        if request.method == 'POST':
            form = UploadFileForm(request.POST, request.FILES)
            if form.is_valid():
                handle_uploaded_file(request.FILES['file'])
                return HttpResponseRedirect('/user_profileform/')
        else:
            form = UploadFileForm()
        return render_to_response('user_profile.html', {'form': form })

    def handle_uploaded_file(f):
        with open('ranjeet.txt', 'wb+') as destination:
            for chunk in f.chunks():
                destination.write(chunk)



    form is: 
    <form action="" method="POST" enctype="multipart/form-data" name="uform" id="userform">{% csrf_token %}
    {{form}}

<input type="submit" value="submit" name="usubmit">
</form> 

在设置中:

MEDIA_ROOT = '/media/images/' MEDIA_URL = '/media/'

我不知道文件保存在哪里。

4

1 回答 1

0

我认为问题在于您尝试打​​开目的地时。您在那里提供了“ranjeet.txt”,这是一个文件。在那里,您应该提供硬盘/文件夹路径的路径,您要在其中保存上传的文件。请尝试使用此代码:

destination = open(settings.MEDIA_ROOT, 'wb+')

for chunk in f.chunks(): //f is the file info passed to handle_file_upload(f)               
    destination.write(chunk)
destination.close()

我在您的代码中发现的另一个问题。在表单操作中,我既没有找到任何 url 也没有找到“。”

于 2013-08-14T11:01:19.560 回答