Php Can';t访问POST请求中上载的文件数据
有些奇怪的事情发生了,即使我做每件事都像往常一样,也许你会发现我的错误 我使用dropzone.js插件上传文件,然后我有一个控制器来处理保存这个文件,但是在控制器中我实际上看不到文件数据 先决条件: php.ini是可以的 发帖没问题 在本地主机(XAMP)上运行 这是我最后得到的一个极简主义的例子(仍然不起作用) 前端Php Can';t访问POST请求中上载的文件数据,php,ajax,laravel,dropzone.js,Php,Ajax,Laravel,Dropzone.js,有些奇怪的事情发生了,即使我做每件事都像往常一样,也许你会发现我的错误 我使用dropzone.js插件上传文件,然后我有一个控制器来处理保存这个文件,但是在控制器中我实际上看不到文件数据 先决条件: php.ini是可以的 发帖没问题 在本地主机(XAMP)上运行 这是我最后得到的一个极简主义的例子(仍然不起作用) 前端 @extends('layouts.app') @section('content') <!-- Change /upload-target to
@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
控制器
class AttachmentController extends Controller
{
public function Save()
{
var_dump(Input::get());
}
}
后请求
-----------------------------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=""
[...]
使用$request->file('file')
而不是Input::get()
。例如,请尝试下面的代码段将其保存在pathstorage/exports
服务器中
确保在存储文件夹中创建exports
文件夹
class AttachmentController extends Controller
{
public function Save(Request $request)
{
$request->file('file')->move(
storage_path('exports'), 'uploadedFile.jpg'
);
}
}
使用$request->file('file')
而不是Input::get()
。例如,请尝试下面的代码段将其保存在pathstorage/exports
服务器中
确保在存储文件夹中创建exports
文件夹
class AttachmentController extends Controller
{
public function Save(Request $request)
{
$request->file('file')->move(
storage_path('exports'), 'uploadedFile.jpg'
);
}
}
您是否尝试过
var\u转储($\u文件)
?关于上传文件的信息可以在$\u FILES
超全局变量中找到。是的,我厌倦了大部分php和laravel的东西,比如Input::file()和$\u POST。仍然感谢您的建议,非常感谢。:)您不需要使用Input::file
或Request::file
来代替Input::get
?还可以尝试将enctype='multipart/form data'
添加到表单标记中(不确定dropzone是否会接收此信息,但正常上载需要iirc)。您是否尝试过var\u dump($\u文件)
?关于上传文件的信息可以在$\u FILES
超全局变量中找到。是的,我厌倦了大部分php和laravel的东西,比如Input::file()和$\u POST。仍然感谢您的建议,非常感谢。:)您不需要使用Input::file
或Request::file
来代替Input::get
?还可以尝试将enctype='multipart/form data'
添加到表单标记中(不确定dropzone是否会接收此信息,但正常上载需要iirc)。
class AttachmentController extends Controller
{
public function Save(Request $request)
{
$request->file('file')->move(
storage_path('exports'), 'uploadedFile.jpg'
);
}
}