- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章laravel实现上传图片,并且制作缩略图,按照日期存放的代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
先上代码吧:
前端代码:
有很多小伙伴在做表单上传文件的时候没有注意表单的上传格式是什么,就可能导致上传文件、图片不成功! 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<
form
id
=
"form1"
name
=
"form1"
class
=
"form-horizontal form-label-left"
enctype
=
"multipart/form-data"
method
=
"post"
action
=
"{{asset('/content/add')}}"
ο
nsubmit
=
"submitContent()"
>
{{method_field('PUT')}}
laravel里面使用method_field()函数来伪造一些http请求;
<
div
class
=
"form-group"
>
<
label
class
=
"control-label col-md-3 col-sm-3 col-xs-12"
for
=
"main_img"
>展示主图 <
span
class
=
"required"
>*</
span
></
label
>
<
div
class
=
"col-md-6 col-sm-6 col-xs-12"
>
<
div
id
=
"inputBox"
>
<
input
type
=
"file"
title
=
"请选择图片"
id
=
"mainImg"
name
=
"main_img"
required multiple
accept
=
"image/png,image/jpg,image/gif,image/JPEG"
/>
<
div
id
=
"mainImgBox"
></
div
>
</
div
>
</
div
>
</
div
>
{!! csrf_field() !!}
|
给表单加入token; 。
后端处理:
首先我使用的是Intervention Image类库来制作图片的缩略图、以及保存图片到指定位置; 。
关于Intervention Image类库我就不多做介绍,如有不了解的请度娘帮助; 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?php
namespace
App\Http\Controllers\Admin;
use
App\Http\Controllers\Controller;
use
Image;
use
Validator;
class
ContentController
extends
Controller{
public
function
addProcess(){
$inputData
= request()->all();
$rules
= [
'main_img'
=> [
'file'
,
'image'
,
'max:10240'
]
];
$validator
= Validator::make(
$inputData
,
$rules
);
if
(
$validator
->fails()){
return
back()->withErrors(
$validator
)->withInput();
}
$photo
=
$inputData
[
'main_img'
];
$file_name
= uniqid().
'.'
.
$photo
->getClientOriginalExtension();
$file_relative_path
=
'assess/images/content/'
.
date
(
'Y-m-d'
);
$file_path
= public_path(
$file_relative_path
);
if
(!
is_dir
(
$file_path
)){
mkdir
(
$file_path
);
}
$thumbnail_file_path
=
$file_path
.
'/thumbnail-'
.
$file_name
;
$image
= Image::make(
$photo
)->resize(200, null,
function
(
$constraint
) {
$constraint
->aspectRatio();})->save(
$thumbnail_file_path
);
$file_path
.=
'/'
.
$file_name
;
$image
= Image::make(
$photo
)->save(
$file_path
);
echo
‘上传成功!';
}
}
|
后端处理主要思想:首先通过Validator类库来检验当前上传上来的文件是否符合要求,如果符合要求,就可以对图片进行处理了;处理的时候我是先把要保存图片的相对地址给拼接好,然后通过laravel里面的public_path函数得出绝对的local地址;再去判断该文件夹是否存在,如果不存在那就创建该文件夹。创建好文件夹后我们就应该对上传上来的图片进行进一步处理了,比如我这里需要制作它的缩略图,并且保证图片横纵比,如果有其他的要求,可以前往Intervention Image类库自行查看怎么制作.
以上这篇laravel实现上传图片,并且制作缩略图,按照日期存放的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/a12541254/article/details/79552845 。
最后此篇关于laravel实现上传图片,并且制作缩略图,按照日期存放的代码的文章就讲到这里了,如果你想了解更多关于laravel实现上传图片,并且制作缩略图,按照日期存放的代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!