我使用dropzone.js插件进行文件上传,然后我有一个控制器来处理保存这个文件,但是在控制器中我实际上看不到文件数据。
预requisits: php.ini没问题 POST请求没问题 在localhost(XAMP)上运行
这是我最终得到的一个简约的例子(仍然不起作用)
前端
@extends('layouts.app')
@section('content')
<!-- Change /upload-target to your upload address -->
<form action="{{url('attachment')}}" class="dropzone"></form>
@endsection
@section('scripts')
<script src="https://rawgit.com/enyo/dropzone/master/dist/dropzone.js"></script>
<link rel="stylesheet" href="https://rawgit.com/enyo/dropzone/master/dist/dropzone.css">
@endsection
ROUTE
Route::group(['middleware' => 'auth'], function () {
Route::post('attachment','AttachmentController@Save');
});
控制器
class AttachmentController extends Controller
{
public function Save()
{
var_dump(Input::get());
}
}
POST请求
-----------------------------18028969725576
Content-Disposition: form-data; name="file"; filename="3.jpg"
Content-Type: image/jpeg
ÿØÿá�Exif��II*������������ÿì�Ducky�����(��ÿámhttp://ns.adobe.com/xap/1.0/�<?xpacket begin=""
[...]
响应
array(0) {
}
答案 0 :(得分:0)
使用$request->file('file')
代替Input::get()
。例如,请尝试下面的代码段将其保存在路径storage/exports
的服务器中。
确保在存储文件夹中创建exports
文件夹
class AttachmentController extends Controller
{
public function Save(Request $request)
{
$request->file('file')->move(
storage_path('exports'), 'uploadedFile.jpg'
);
}
}