【问题标题】:Laravel file upload starts downloading pageLaravel 文件上传开始下载页面
【发布时间】:2017-06-16 19:55:45
【问题描述】:

我的表单正在运行,但是当我添加文件时,Laravel 开始下载以下页面:

如果有文件上传,则不调用主控制器函数“上传”。

//##### home.blade.php
<?php
     echo Form::open(['route' => 'home.upload', 'files' => true]);
     echo Form::text('name', null);
     echo '<div class="clear"></div>';
     echo Form::label('file', 'Upload File');
     echo Form::file('file', null, ['id' => 'file']);
     echo '<div class="clear"></div>';
     echo Form::submit('Submit!');
     echo Form::close(); 
?>


//##### web.php
Route::post('/upload', [
    'as'    => 'home.upload',
    'uses'  => 'Home@upload'
]);

//##### Home.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;


class Home extends Controller
{
    public function index(Request $request)
    {
        return view('home');
    }

    public function upload(Request $request)
    {
         var_dump($request->hasFile('sql'))exit;
    }
 }

有人知道问题出在哪里吗?

【问题讨论】:

  • 提交时的url是什么?
  • 浏览器中的 URL 是 / 但 post 请求路由到 /upload。发送文件时类型为 x-httpd-php。没有文件的类型是 html。我认为这是一个问题。
  • 我会说它没有发布到正确的路线。在家时可以在浏览器中查看源 html 吗?
  • 表单的动作是正确的“/upload”。如果没有要上传的文件,则路由正确并调用 upload() 函数。
  • 好的!我知道我没有完全阅读您发布的图片。如果路由是正确的,而您显然没有得到 var_dump,那么正如它所说,它一定是您的服务器有问题。提示是使用 Laravel dd() 而不是 var_dump 然后 exit - dd($request-&gt;hasFile('sql'))

标签: php laravel file-upload upload routes


【解决方案1】:

我找到了解决方案。 跟laravel没关系。

主机的安全配置导致错误。 更多信息:https://www.strato.de/faq/article/136/Fehler-503-(Error-'Service-unavailable')-bei-der-Verwendung-von-POST-Requests.html

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多