我想將通過表單上傳的文件保存到json文件中,因此我需要獲取通過Request或Input類方法輕鬆獲取的發佈數據。在laravel中找不到輸入類5
問題是無論何時我使用請求或輸入我無法獲取諸如getClientOriginalName之類的方法來獲取文件的名稱和文件的其他參數。
我FileController代碼如下:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request; // this handles both for Input and Request as in laravel 5.1 documentation
use Illuminate\Support\Facades\Input; // though added some classes to get work
use Illuminate\Support\Facades\File; // though added some classes to get work
use Illuminate\Filesystem\Filesystem; // though added some classes to get work
class FileController extends Controller
{
public function index()
{
$files = $this->getAllData();
return view('document.index', compact('files'));
}
public function create()
{
return view('document.create');
}
public function store(Request $request)
{
$name = $request->input('title');
echo $name;
$file = $request->file('afile');
if($request->hasFile('afile')) {
$file = $request->file('afile');
print_r($file); // return array of uploaded as expected
$filename = $file->getClientOriginalName(); // not working
// or
$filename = Input::file('afile')->getClientOriginalName(); // not working
echo $filename;
}
// print_r($file);
// $data= array('title'=>$name, 'afile'=>$file);
// $this->create_entry($data);
// return redirect('document');
}
}
僅供參考我的文件上傳SUCESSFUL,並已獲得文件數組作爲
Array ([0] => Symfony\Component\HttpFoundation\File\UploadedFile Object ([test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => new_file_1.txt [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => text/plain [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [pathName:SplFileInfo:private] => E:\xampp\tmp\php5680.tmp [fileName:SplFileInfo:private] => php5680.tmp))
唯一的問題是我不能得到的Symphon2 API方法雖然我用
use Input;
或
use Illuminate\Support\Facades\Input;
輸入的每種方法都無法檢查其有效與否。
我引用的每個教程或來自laravel 5的文檔都使用了與我在代碼中使用的相同的教程。 因此,任何建議或解決方案真的很感激。
this文檔中使用的函數正在工作,但除此之外沒有其他方法。
請確認dd($ request-> file('afile'));它似乎是空 –
嘗試添加'使用Illuminate \ Support \ Facades \ Input'到您的使用語句 – Catharsis
afile數組是: Array([0] => Symfony \ Component \ HttpFoundation \ File \ UploadedFile Object :Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => [originalName:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => new_file_11.txt [mimeType:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => text/plain [size:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 0 [error:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 0 [pathName:SplFileInfo:private] => E:\ xampp \ tmp \ php2B0C.tmp [fileName:SplFileInfo:private] => php2B0C.tmp)) – rjndra