文件上传进度条干扰控制器重定向

     2023-03-05     137

关键词:

【中文标题】文件上传进度条干扰控制器重定向【英文标题】:File upload progress bar interferes with Controller redirect 【发布时间】:2021-11-16 10:23:43 【问题描述】:

我有一个文件提交表单和一个跟踪上传进度的进度条。但是,控制进度条的 javascript 会干扰我的控制器,我不知道如何修复它。我的控制器从不使用链接重定向回家(它在没有实现进度条的情况下工作)。删除 window.location.href="/"; 并不能解决此问题。

任何想法如何解决这个问题?

home.blade.php

<form action="route('file.store')" method="post" class="w-100" enctype="multipart/form-data">
    @csrf
    <div class="progress" id="progressBar">
        <div class="bar"></div >
        <div class="percent">0%</div >
    </div>
    <br>
    <div class="custom-file overflow-hidden rounded-pill mb-3">
        <input id=“file type="file" class="custom-file-input rounded-pill" name="file">
        <label id="fileName" for=“file” class="custom-file-label rounded-pill">Choose file</label>
    </div>
    <input type="submit" class="file-upload btn btn-primary btn-block rounded-pill shadow mb-3" id="uploadButton">
</form>

文件控制器.php

public function store(Request $request)


    // Process the file
    $link = “https://example.com”;
    session()->flash("link",$link);
    // return back to home with link to download the file
    return redirect()->back();

Javascript

$(document).ready(function() 
            document.getElementById("progressBar").style.display = "none";
            var bar = $('.bar');
            var percent = $('.percent');
            $('form').ajaxForm(
                beforeSend: function() 
                    var percentVal = '0%';
                    bar.width(percentVal)
                    percent.html(percentVal);
                    document.getElementById("progressBar").style.display = "";
                    document.getElementById('uploadButton').disabled = true;
                ,
                uploadProgress: function(event, position, total, percentComplete) 
                    var percentVal = percentComplete + '%';
                    bar.width(percentVal)
                    percent.html(percentVal);
                ,
                complete: function(xhr) 
                    document.getElementById("progressBar").style.display = "none";
                    document.getElementById('uploadButton').disabled = false;
                    window.location.href="/";
                
            );
        );

【问题讨论】:

进度条使用 vue.js 更容易 【参考方案1】:

使用这个

public function uploadMultipleFile(Request $request)
    
 
         foreach($request->file('file') as $image)
         
              $new_name = rand() . '.' . $image->getClientOriginalExtension();
              $image->move(public_path('images'), $new_name);
              Gallery::insert(['title' => $new_name]);
         
 
         $res = array(
          'success'  => 'Multiple Image File Has Been uploaded Successfully'
         );
 
        return response()->json($res);
    

<script>
$(document).ready(function()
$('form').ajaxForm(
beforeSend:function()
$('#success').empty();
$('.progress-bar').text('0%');
$('.progress-bar').css('width', '0%');
,
uploadProgress:function(event, position, total, percentComplete)
$('.progress-bar').text(percentComplete + '0%');
$('.progress-bar').css('width', percentComplete + '0%');
,
success:function(data)

if(data.success)

$('#success').html('<div class="text-success text-center"><b>'+data.success+'</b></div><br /><br />');
$('#success').append(data.image);
$('.progress-bar').text('Uploaded');
$('.progress-bar').css('width', '100%');


);
);
</script>

【讨论】:

具有多个不同输入的文件上传进度条(MVC)

】具有多个不同输入的文件上传进度条(MVC)【英文标题】:FileUploadProgressBarwithMultipleandDifferentInputs(MVC)【发布时间】:2020-04-3020:49:48【问题描述】:我在互联网上搜索了这个JavaScript和jQuery模板,用于文件上传进度条,它可以100... 查看详情

使用弹簧控制器重定向到外部链接[重复]

】使用弹簧控制器重定向到外部链接[重复]【英文标题】:Redirecttoexternallinkusingspringcontroller[duplicate]【发布时间】:2014-07-0421:28:31【问题描述】:我遇到了一个案例,我必须将链接从特定控制器重定向到外部url。我尝试过很多类... 查看详情

在 Rails 3 中为特定控制器重定向记录器输出

...们将所有操作和下游方法的记录器输出路由到单独的日志文件。这是一个Rails3项目。在Rails2中,我们通过重新定义“logger”方法来做到这一点,但在Rails3中,记录日志的方式是使 查看详情

从基本控制器重定向到操作方法

】从基本控制器重定向到操作方法【英文标题】:redirecttoactionmethodfrombasecontroller【发布时间】:2013-06-2023:35:04【问题描述】:我在我的基本控制器类中初始化了方法,每当执行任何操作方法时都会调用该方法。在每个操作方法... 查看详情

如何使用命名 URL 映射从控制器重定向?

】如何使用命名URL映射从控制器重定向?【英文标题】:HowtoredirectfromacontrollerusinganamedURLmapping?【发布时间】:2011-04-2118:27:40【问题描述】:我有一个如下的URL映射:staticmappings=nameregister:"/register"controller="account"action="createuser"我... 查看详情

文件上传和进度条

】文件上传和进度条【英文标题】:Fileuploadandprogessbar【发布时间】:2013-01-2114:01:05【问题描述】:我想在上传文件时根据读取的文件数量显示进度条。我们如何使用JS和Servlet来实现这一点我知道上传我可以使用apachecommonslib,但... 查看详情

文件上传进度条[重复]

】文件上传进度条[重复]【英文标题】:Fileuploadprogressbar[duplicate]【发布时间】:2011-04-0611:20:21【问题描述】:可能重复:UploadProgressBarinPHP任何人都可以建议一种在上传文件时包含文件上传进度条的好方法。我知道这将是javascript... 查看详情

使用 jQuery 的文件上传进度条

】使用jQuery的文件上传进度条【英文标题】:FileuploadprogressbarwithjQuery【发布时间】:2013-03-0220:39:19【问题描述】:我正在尝试在我的项目中实现AJAX文件上传功能。我为此使用jQuery;我的代码使用AJAX提交数据。我还想实现一个文... 查看详情

使用 jQuery 的文件上传进度条

】使用jQuery的文件上传进度条【英文标题】:FileuploadprogressbarwithjQuery【发布时间】:2013-03-0220:39:19【问题描述】:我正在尝试在我的项目中实现AJAX文件上传功能。我为此使用jQuery;我的代码使用AJAX提交数据。我还想实现一个文... 查看详情

在spring boot中将控制从一个控制器重定向到另一个控制器

】在springboot中将控制从一个控制器重定向到另一个控制器【英文标题】:Redirectingcontrolfromonecontrollertoanotherinspringboot【发布时间】:2018-02-1105:01:27【问题描述】:我正在尝试将控制从一个控制器重定向到另一个控制器,但它没有... 查看详情

js文件上传进度条

<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>XMLHttpRequest上传文件进度实现</title><scripttype="text/javascript">varxhr;varot;//varoloaded;//上传文件方法functionUp 查看详情

Cakephp 内部从控制器重定向到另一个控制器

】Cakephp内部从控制器重定向到另一个控制器【英文标题】:Cakephpinternalredirectfromcontrollertoanothercontroller【发布时间】:2011-05-1302:45:38【问题描述】:更新:我写了一些关于在php中使用header的错误陈述;所以忘记那部分:)我想要的... 查看详情

登录后 Spring MVC 控制器重定向到某个 URL

】登录后SpringMVC控制器重定向到某个URL【英文标题】:SpringMVCcontrollerredirecttosomeURLafterlogin【发布时间】:2012-12-2823:44:43【问题描述】:我有一个带有如下处理程序的SpringMVC控制器:@RequestMapping(value="/account/login",method=RequestMethod.GE... 查看详情

如何从 C# 控制器重定向到 URL(带有自定义标头)

】如何从C#控制器重定向到URL(带有自定义标头)【英文标题】:HowtoredirecttoURL(withcustomheaders)fromC#Controller【发布时间】:2019-09-0209:42:31【问题描述】:我需要将用户的浏览器重定向到我的.NETCoreC#控制器操作中的新URL,并使用JWT... 查看详情

MVC 文件上传的引导进度条

】MVC文件上传的引导进度条【英文标题】:BootstrapProgressBarforMVCFileUpload【发布时间】:2014-08-2402:38:06【问题描述】:有没有一种简单的方法可以在文件加载时显示阻塞的Bootstrap进度条?上传文件时,进度会显示在chrome的状态栏中... 查看详情

使用 jquery ui 进度条上传文件

】使用jqueryui进度条上传文件【英文标题】:fileuploadwithjqueryuiprogressbar【发布时间】:2011-01-2015:13:55【问题描述】:我正在使用jCrop,我想为图片上传添加一个进度条,如何让jqueryui进度条加载图片字节?【问题讨论】:我相信这... 查看详情

带进度条的文件上传?

】带进度条的文件上传?【英文标题】:Fileuploaderwithprogressbar?【发布时间】:2011-09-1108:01:12【问题描述】:如何创建带有进度条的HTML/PHP/AJAX文件上传器?我不知道从哪里开始。【问题讨论】:【参考方案1】:我用过Uploadify。易... 查看详情

文件上传:进度条完成百分比

】文件上传:进度条完成百分比【英文标题】:Fileuploads:Percentagecompletedprogressbar【发布时间】:2014-03-0523:30:00【问题描述】:我正在尝试为BuddyPress中的头像上传添加一个“到目前为止完成的百分比”进度条。目的是阻止用户在... 查看详情