【问题标题】:File upload returns empty result文件上传返回空结果
【发布时间】:2016-12-01 10:11:23
【问题描述】:

我是 laravel 5 和 php 的新手,所以我不明白为什么会出现这个问题。

我正在尝试使用 ajax 上传文件(视频或图像),但服务器返回空结果。即使我控制台 FormData 表单似乎是空的。

HTML

<form enctype="multipart/form-data" id="upload-file" role="form" method="POST" action="" >
     <input type="hidden" name="_token" value="{{ csrf_token()}}">
     <input type="file" class="form-control" id="catagry-logo" name="videologo">
</form>
<div id="video-submit">Submit</div>

Javascript

$.ajaxSetup({
     headers: {
          'X-CSRF-Token': $('meta[name=_token]').attr('content')
     }
});

$('#video-submit').on('click', function() {
     console.log(new FormData($("#upload-file")[0]));
     $.ajax({
          type:'post',
          url:'uploadvideo',
          data: new FormData($("#upload_form")[0]),
          processData: false,
          contentType: false,
          success:function(response){
               console.log(response);
          }
     });
});   

路线

Route::post('/uploadvideo', 'UploadController@videoUpload');

控制器

public function videoUpload() {
    return response()->json(json_encode(Input::all()));
}

回应

FormData {}
[]

【问题讨论】:

  • 使用请求类public function videoUpload( Request $request ),然后使用dd( $request-&gt;input( 'videologo' ) )
  • 为什么你的 action="" 是空的?
  • 表示 POST 给自己
  • 他使用 ajax 发布图片。无需在表单上添加操作

标签: javascript html laravel


【解决方案1】:

您似乎正在使用Input Facade

尝试熟悉 Request

而且,您返回 JSON 响应的方式似乎是错误的,所以试试这个。

注意

确保您的 INI 文件中的 PHP Post Upload 大小可以处理您上传的文件大小,否则您将收到空白的 POST 请求

在您的 php.ini 文件中设置以下指令以适应您的上传

  • post_max_size = (size in mb, POST 请求的总大小)
  • upload_max_filesize =(大小以 mb 为单位,POST 请求中单个文件的大小)

控制器

use Illuminate\Http\Requests;

public function videoUpload( Request $request ) {
    return response()->json( ['video' => $request->input( 'videologo' )] );
}

【讨论】:

  • 感谢您的回复。现在我得到一个空数据,我的测试文件大小只有 35KB,仍然无法返回正确的数据
  • 你真的应该尝试发布一个字符串,看看它是否返回你发布的确切字符串。
  • 我已经把数据传给了控制器,比如string和int。
猜你喜欢
  • 2020-03-22
  • 2014-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多