0

我正在使用 laravel 8 开发文件系统管理。

我创建了一个接受文件的函数。

public function uploadExperiment(Request $request)
    {
        $file = $request->file('file');
        $uniqueId = time();
        $fileName = $file->getClientOriginalName();
        $filePath = $uniqueId . '/' . $fileName;

        Storage::disk('local')->put($filePath, file_get_contents($file));

        return response()->json(["success"=>true]);
    }

我需要在上传过程中跟踪上传的大小,我需要将这个进度保存在数据库中。

例如,如果我想上传一个 2GB 大小的文件,这将需要时间。那么关于如何跟踪它的任何想法?

4

1 回答 1

0

也许你想创建这个:

https://www.itsolutionstuff.com/post/php-laravel-file-upload-with-progress-bar-exampleexample.html

要在 laravel 中上传大小文件,请使用:

$size = $request->file('file')->getSize();

也许可以使用它来获取您上传的百分比,您可以使用 jquery。但是如果你想在 php 中做,我认为你有一个想法,你可以这样做:

function timeout_trigger() {
   var loaded = file.getLoaded(); // loaded part
   p = parseInt(loaded / size);

   $(".progress").css("max-width",p+"%");
   $(".progress-view").text(p+"%");
   if(p!=100) {
       setTimeout('timeout_trigger()', 20);
   }
}
timeout_trigger();

我认为您有一个表格,并POST为此使用此功能发送。

于 2021-03-16T12:27:45.977 回答