Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';t访问POST请求中上载的文件数据_Php_Ajax_Laravel_Dropzone.js - Fatal编程技术网

Php Can';t访问POST请求中上载的文件数据

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

有些奇怪的事情发生了,即使我做每件事都像往常一样,也许你会发现我的错误

我使用dropzone.js插件上传文件,然后我有一个控制器来处理保存这个文件,但是在控制器中我实际上看不到文件数据

先决条件: php.ini是可以的 发帖没问题 在本地主机(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
控制器

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()
。例如,请尝试下面的代码段将其保存在path
storage/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()
。例如,请尝试下面的代码段将其保存在path
storage/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'
                );

    }
}