【问题标题】:image uploading using django使用 django 上传图片
【发布时间】:2013-08-19 07:34:19
【问题描述】:

我有一个代码,代码运行良好,这个代码的问题是上传文件时没有获取文件名。

views.py

@csrf_exempt
def upload_file(request):
    if request.method == 'POST':

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

def handle_uploaded_file(f):

    destination = open('media/name', 'wb+')
    for chunk in f.chunks(): 
        destination.write(chunk)
    destination.close()

我的表格是:-

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

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

使用这个的时候文件上传正常但是没有得到文件名,为什么。

【问题讨论】:

标签: python django file-upload error-handling


【解决方案1】:

问题可能是您试图从request.FILES 字典中读取文件名。该字典包含一个UploadedFile 对象,用于您表单中的每个文件上传字段。文件名是该UploadedFile 对象的属性。试试这个:

if request.FILES['file'].name:
    filename = request.FILES['file'].name

如果这不起作用,请向我们展示您的实际表单以及您尝试使用文件名的代码。

【讨论】:

    猜你喜欢
    • 2013-08-17
    • 2011-07-24
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2012-04-03
    • 2019-07-16
    相关资源
    最近更新 更多