我想将通过表单上传的文件保存到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