2016-06-17 53 views
1

奇怪的事情happend即使我做的一切,因爲usaual,也許你會發現我的錯誤。不能在POST請求訪問上傳文件數據

我使用dropzone.js插件文件上傳,然後我有一個處理保存此文件的控制,但是在控制我不能真正看到的文件數據。

預requisits: 的php.ini是OK POST requestis OK 運行在本地主機(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','[email protected]'); 
}); 

控制器

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) { 
} 
+1

你試過'的var_dump($ _ FILES)'?有關上傳文件的信息可在'$ _FILES'超全局變量中找到。 – keupsonite

+0

是的,我厭倦了大部分php和laravel,比如Input :: file()和$ _POST。還是謝謝你的建議,非常感謝。 :) – Lixi

+1

你不需要使用'Input :: file'或'Request :: file'來代替'Input :: get'嗎?也可以嘗試在表單標籤中添加enctype ='multipart/form-data''(不確定dropzone是否會選擇此選項,但正常上傳需要使用iirc)。 – Pevara

回答

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' 
       ); 

    } 
} 
相關問題