我正试着用laravel存储一些上传到我数据库的图片。一切都进行得很顺利,所有的东西都被存储了,但是对于这个文件,他们一直在存储一个38B的bin文件,我试着把它读到.Txt文件中,它有到/Applications/MAMP/tmp/php/phpUzMXbn的路径。这是我的函数代码:
Route::post('/FruitCreate',function(Request $request){
$fruit = new fruit;
$fruit->name = $request->name;
$fruit->price = $request->price;
$fruit->picture = $request->image;
$fruit->save();
return redirect('FruitsChangingPricePanel');我的刀刃:
<form enctype="multipart/form-data" method="POST" action="{{ url('FruitCreate') }}" >
{{ csrf_field() }}
<input type="text" name='name'>
<input type="text" name='price'>
<input type="hidden" name="MAX_FILE_SIZE" value="30000000" />
<input type="file" name='image'>
<button type='submit'> submit </button>谢谢你的帮助!!
发布于 2018-11-03 17:27:24
你可以这样做:
$file = $request->file('image'); $imageContent = $file->openFile()->fread($file->getSize());$fruit = new fruit; $fruit>picture = $imageContent; $fruit>save();
注意:您的列类型必须是Blob。
发布于 2018-11-03 17:28:30
因为你想直接存钱。试试这个
$file = Input::file('file');
$destinationPath = public_path(). '/uploads/';
$filename = $file->getClientOriginalName();
$file->move($destinationPath, $filename);
echo $filename;
//echo '<img src="uploads/'. $filename . '"/>';
$user = ImageTest::create([
'filename' => $filename,
]);发布于 2018-11-03 17:32:15
首先,您应该获取您的图像,然后将其存储到public/uploads/fruits folder.And,然后将图片路径保存到DB。
$fruit = new fruit;
$fruit->name = $request->name;
$fruit->price = $request->price;
if ($request->has('image')) {
if (!file_exists(public_path('uploads/fruits/'))) {
mkdir(public_path('uploads/fruits/'));
}
if (!file_exists(public_path('uploads/fruits/' . date('FY') . '/'))) {
mkdir(public_path('uploads/fruits/' . date('FY') . '/'));
}
$image = $request->file('image');
$filename = public_path('uploads').'/fruits/' . date('FY') . '/' . str_random() . '.' . $image->guessExtension();
\Image::make($image->getRealPath())->encode('jpg')->resize(220, 220)->put($filename);
$fruit->picture = $filename;
}
$fruit->save();https://stackoverflow.com/questions/53133711
复制相似问题