如何在 Django 中上传文件并显示进度条?

     2023-02-22     180

关键词:

【中文标题】如何在 Django 中上传文件并显示进度条?【英文标题】:How to upload a file and show progress bar in Django? 【发布时间】:2011-07-01 17:28:33 【问题描述】:

我已经编写了在 Django 中上传文件的代码,如下所示:

def upload(request):
if request.method == 'POST':
    form = UploadFileForm(request.POST, request.FILES)
    if form.is_valid():
        handle_uploaded_file(request.FILES['file'])
        return render_to_response('uploadsuccess.html')
else:
    form = UploadFileForm()  
return render_to_response('upload.html', 'form': form)


def handle_uploaded_file(f):
    filename = "/media/Data/static/Data/" + f.name
    destination = open(filename, 'wb+')
    for chunk in f.chunks():
        destination.write(chunk)
    destination.close()

代码对我来说很好用。但是,我不知道应该如何修改此代码以在客户端显示进度条。

我的 html 页面如下所示:

% extends "index_base.html" %

% block content %
<script src="/media/js/functions.js" type="text/javascript"></script>
<script  src="/media/js/jquery.js" type="text/javascript">
    </script>
<div id="main_container">

% include "includes/nav.html"  %

<!------- Main Contents  ---------->
    <div id="contents_holder">
        <div id="contents">
            <div id="c_banner">
                    <span class="main_title">Upload File</span>
                </div>
            <div id="setting">
            <form name="post" action="/upload.psp/" method="post" enctype="multipart/form-data">
                <h2>Upload File</h2></br>
                <p> form.file.label_tag &nbsp;&nbsp; form.file </p></br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="submit" value="Upload" name="uploadButton" />
                &nbsp;&nbsp;<input type="button" value="Cancel" name="cancelUploadButton" onclick ="cancelUploadClicked()"/>
                <input type="hidden" value="title" name="title" id="title" />
            </form> 
                </div>

        </div>
    </div>
</div>

<!------- Main Contents  Finished ---------->
% endblock %

有人可以帮我将上传进度条与此代码集成吗?

提前致谢。

【问题讨论】:

【参考方案1】:

我认为您必须使用 Ajax 发送异步请求。

这里也讨论了这个话题:File upload progress bar with jquery 在这里:How can I upload files asynchronously?

【讨论】:

如何通过 ASP.NET MVC 上传文件并显示进度条?

】如何通过ASP.NETMVC上传文件并显示进度条?【英文标题】:HowcanIuploadafileviaASP.NETMVCandshowaprogressbar?【发布时间】:2010-11-0122:56:22【问题描述】:我希望允许用户在我的ASP.NETMVC应用程序中浏览文件并将其上传到服务器。如果可能... 查看详情

如何在ajax文件上传中显示进度条

】如何在ajax文件上传中显示进度条【英文标题】:Howtoshowprogressbarinajaxfileupload【发布时间】:2013-01-2605:22:52【问题描述】:我的代码发布了ajax请求,但没有显示进度条。请帮助更正代码以显示工作进度条。$(document).ready(function()... 查看详情

ModelForm (Django) 中 FileField 上传的进度条

】ModelForm(Django)中FileField上传的进度条【英文标题】:ProgressbarforFileFielduploadinaModelForm(Django)【发布时间】:2015-03-1620:29:36【问题描述】:我正在寻找一些实现文件上传进度条的指针,该进度条提供有关ModelForm内FileField上传当前状... 查看详情

ModelForm (Django) 中 FileField 上传的进度条

】ModelForm(Django)中FileField上传的进度条【英文标题】:ProgressbarforFileFielduploadinaModelForm(Django)【发布时间】:2015-03-1620:29:36【问题描述】:我正在寻找一些实现文件上传进度条的指针,该进度条提供有关ModelForm内FileField上传当前状... 查看详情

如何在ajax调用中获取文件上传进度状态?

】如何在ajax调用中获取文件上传进度状态?【英文标题】:Howtogetthefileuploadingprogressstatusinajaxcall?【发布时间】:2020-04-0408:36:44【问题描述】:我正在通过ajax上传多个文件,我需要在其中保留一个进度条。只有在所有过程完成后... 查看详情

在javascript-ajax中提交表单时如何显示进度条

】在javascript-ajax中提交表单时如何显示进度条【英文标题】:Howtoshowtheprogressbarwhensubmittingtheforminjavascript-ajax【发布时间】:2021-06-1819:18:10【问题描述】:我已经做了进度条和一切。但是当我选择文件上传时出现问题,这意味着... 查看详情

uploadifive.js怎么去掉进度条

参考技术AUploadify中上传完毕会默认保留进度条并显示100%,前提设置removeCompleted为false,而UploadiFive中上传完毕后进度条自动消失 参考技术BUploadify中上传完毕会默认保留进度条并显示100%,前提设置removeCompleted为false,而UploadiFive... 查看详情

文件上传和进度条

...我想在上传文件时根据读取的文件数量显示进度条。我们如何使用JS和Servlet来实现这一点我知道上传我可以使用apachecommonslib,但如何根据读取的数据显示进度条。我是否应该根据读取的数据量向JS代码发送计数响应,如果可以,... 查看详情

使用引导进度条以模态显示上传进度

】使用引导进度条以模态显示上传进度【英文标题】:DisplayUploadProgressinModalwithBootstrapProgressBar【发布时间】:2015-04-2003:01:02【问题描述】:我正在构建一个c#MVC应用程序,它显示一个表单并允许用户上传一些文件。当用户点击提... 查看详情

如何在 powershell 中隐藏进度条(压缩)?

】如何在powershell中隐藏进度条(压缩)?【英文标题】:HowIcanhidetheprogressbar(compression)inpowershell?【发布时间】:2014-06-1908:12:26【问题描述】:我正在测试一个小脚本来压缩文件,我使用“PowerGUI脚本编辑器”将脚本编译为可执行... 查看详情

将图像上传到 Firebase 存储时如何制作进度条?

】将图像上传到Firebase存储时如何制作进度条?【英文标题】:howcanimakeaprogressbarwheniuploadaimagetomyfirebasestorage?【发布时间】:2019-09-1403:31:44【问题描述】:我想取得进展,向用户展示上传了多少文件,这样他就不会在上传过程中... 查看详情

如何在 Alamofire 4.0 中添加带有上传进度百分比的标签的进度条

】如何在Alamofire4.0中添加带有上传进度百分比的标签的进度条【英文标题】:HowIcanaddprogressbarwithlabelwithpercentageofprogressofuploadinAlamofire4.0【发布时间】:2016-12-3112:01:18【问题描述】:我正在尝试通过Alamofire4.0将视频上传到服务器... 查看详情

vue多文件上传进度条进度不更新问题

...完全没人能回答。谢谢这篇文章 最近在做一个多图片上传的组件,需求是做到多文件依次上传,并显示上传进度条。逻辑部分实现了以后,在更新进度条视图的时候出现一点问题:动态计算生产的进度progress属性不会自动更... 查看详情

如何在加载时显示进度条,使用ajax

】如何在加载时显示进度条,使用ajax【英文标题】:Howtoshowprogressbarwhileloading,usingajax【发布时间】:2013-12-0409:21:58【问题描述】:我有一个下拉框。当用户从下拉框中选择一个值时,它会执行查询以从数据库中检索数据,并使... 查看详情

如何在unity3d使用www加载场景并显示进度条

参考技术A1.新建两个场景,保存为level1和level22.将图片素材放进工程文件中,分别作为关卡背景、进度条背景和进度条前景3.创建C#脚本,取名Life4.打开脚本,加入如图所示代码5.将脚本拖拽到摄像机上,将三张图片对号入座到图... 查看详情

取消表单文件上传提交

...据的文件上传表单,并希望有一个取消按钮。我的网站在Django上运行。我使用不带Ajax的提交按钮通过正常方式提交表单,但我使用jQuery显示上传进度条,因此我使用jQuery输入提交事件以显示进度。有没有办法用jQuery或其他解决... 查看详情

android实现service上传并在通知栏显示进度条

参考技术A手上项目需要实现选择多个视频后在上传腾讯云,由于视频较大大,所以选择Service来进行上传任务,配合Notification显示进度。打开server直接发送一个Notification并拿到RemoteViews;这里要兼容下8.0设置好渠道id;下面开始上... 查看详情

加载数据并填充到recyclerview时如何显示进度条?

】加载数据并填充到recyclerview时如何显示进度条?【英文标题】:Howtodisplayprogressbarwhileloaddataandfillintorecyclerview?【发布时间】:2018-02-1217:22:33【问题描述】:我想在加载数据和加载完成时在活动中显示进度条,隐藏进度条(GONE... 查看详情