经过几天的追踪,为什么我在Laravel上创建上传表单时遇到The connection was reset
错误,我认为问题出在服务器上,我更改了apache2的更多选项,但没有任何改变。
我使用下面的实现创建了用于上传文件的简单PHP,那就行了!!现在我在Laravel实现的上传表单上遇到什么问题,我收到此错误或timeout
?
请记住:上传小型文件没有任何问题
Laravel实现:
表格:
<form action="{{route('lessons.store')}}" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<div class="form-group">
<div class="form-group">
<label class="display-block">please choose file</label>
<div class="media no-margin-top">
<div class="media-body">
<input type="file" class="file-styled" name="file"
value="{{old('file')}}">
</div>
</div>
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary">Upload FILE
<i class="icon-arrow-left13 position-right"></i></button>
</div>
</form>
控制器:
public function store(RequestContents $request)
{
ini_set('memory_limit', '256M');
$uploadedFile = $request->file('file');
dd($uploadedFile);
}
路线:
Route::group(['namespace' => 'Dashboard', 'middleware' => ['auth:web'], 'prefix' => 'panel'], function () {
...
$this->resource('lessons', 'LessonsController');
...
});
答案 0 :(得分:1)
对于将非常大的文件上传到服务器会导致许多问题,例如在上传网络状况时占用服务器资源。上传大文件(大小超过30 GB)时,我遇到了类似的问题。
我使用了这种方法,
在前端 我使用Dropzone.js Resumable.js非常有前途。与其直接将整个文件上传到服务器,不如将其上传到一小块(10 MB)并管理文件部分和其他内容。
在您的后端Laravel中,我们使用了pionl/laravel-chunk-upload,它与上述两个上传器兼容。它将为您管理文件块,最后块和针迹的各种管理。
使用此组合将为您处理各种大文件,库中还有其他参数可供您使用,例如块大小以及是否使用可恢复文件上传。
编辑
如果您使用的是S3或任何其他对象存储服务,请尝试直接上载到它们,这样可以节省您的费用。
如果您需要任何其他帮助,请随时询问。
答案 1 :(得分:0)
从表单中删除enctype =“ multipart / form-data”属性后,请重试。