laravel 框架使用hdjs 实现单图上传功能
- GitHub克隆hdjs
- 配置
代码如下:
'upload' => ['driver' => 'local','root' => 'uploadImages',],
<link href="https://cdn.bootcss.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet">
<script>window.hdjs={};//组件目录必须绝对路径window.hdjs.base = 'hdjs';//上传文件后台地址window.hdjs.uploader = '/upload?';//获取文件列表的后台地址window.hdjs.filesLists = '/filesLists?';
</script>
<script src="hdjs/require.js"></script>
<script src="hdjs/config.js"></script>
如果在Laravel等框架中使用组件,需要在标签中添加以下代码,这样可以实现框架的CSRF表单令牌验证。
<meta name="csrf-token" content="{{csrf_token()}}">
在route/web.php中添加上传方法路由
//上传图片路由
Route::any('/upload', 'UploadController@upload');
//已经上传路由图片地址
Route::any('/filesLists','UploadController@filesLists');
后台脚本
在app/http/Controllers创建UploadController类
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class UploadController extends Controller
{//public function upload(Request $request){$file = $request->file('file');if ($file->isValid()){$path = $file->store(date('ymd'),'upload');return ['file' => asset('/uploadImages/' . $path), 'code' => 0];}}/***传提供选择以往上传文件的功能,后台需要返回文件列表数据* 获取已经上传图片数据* @return array*/public function filesLists(){$files = glob('uploadImages/*/*');foreach ($files as $f) {$file = asset($f);$data[] = ['url' => $file,'path' => $file,'size' => filesize($f),'name' => basename($f),'createtime' => date('Y-m-d', filemtime($f)),];}return ['data' => $data,'code'=>0, 'page' => []];}
}
单图上传
<div class="col-sm-8"><div class="input-group mb-1"><input class="form-control form-control-sm" name="thumb" readonly="" value=""><div class="input-group-append"><button onclick="upImagePc(this)" class="btn btn-secondary" type="button">单图上传</button></div></div><div style="display: inline-block;position: relative;"><img src="../image/nopic.jpg" class="img-responsive img-thumbnail" width="150"><em class="close" style="position: absolute;top: 3px;right: 8px;" title="删除这张图片"onclick="removeImg(this)">×</em></div>
</div>
<script>require(['hdjs','bootstrap']);//上传图片function upImagePc() {require(['hdjs'], function (hdjs) {var options = {multiple: false,//是否允许多图上传//data是向后台服务器提交的POST数据data: {name: '后盾人', year: 2099},};hdjs.image(function (images) {//上传成功的图片,数组类型$("[name='thumb']").val(images[0]);$(".img-thumbnail").attr('src', images[0]);}, options)});}//移除图片function removeImg(obj) {$(obj).prev('img').attr('src', '../dist/static/image/nopic.jpg');//记得修改默认图片$(obj).parent().prev().find('input').val('');}
</script>
laravel 框架使用hdjs 实现单图上传功能相关推荐
- 利用策略模式结合alibaba/alpha框架优化你的图片上传功能
图片上传作为一个App经常用到的功能,项目中可以使用各种成熟的框架去完成,但往往实际的情况比想象的复杂.假设我们的上传功能需要满足下面的情况: 支持上传一张图 支持上传多张图 上传多张图时能获取到每张 ...
- ssm框架结合Ajax实现图片上传功能
先上代码 一.html代码 <div><img src="img/头像.png" alt="选择并上传头像" id="avatar_ ...
- ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案
代码实现 首先我们需要在ueditor.all.js文件中找到原本的单图上传部分的代码 搜索关键字 simpleupload,如下图所示: 然后找到上传图片的代码片段,如下图所示: 然后把 domUt ...
- jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能
使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jque ...
- SSM框架 基于Bootstrap fileinput 实现文件上传功能
SSM框架 基于Bootstrap fileinput 实现文件上传功能 pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <! ...
- tinymce 多图上传,上传文件,上传视频,单图上传
tinymce 多图上传,上传文件,上传视频,单图上传 参考材料 引入插件 单图上传,文件上传,图片上传 多图上传 参考材料 http://tinymce.ax-z.cn/more-plugins/a ...
- vue文件上传功能bootstrap框架
vue文件上传功能bootstrap框架 封装公共组件components/fileupload/FileUpload.vue 内容如下: 公共组件 ```html <template>& ...
- ElementUI实现el-upload单图上传
头像上传 上传图片的时候遇到该上传的图片应该是单图上传的,比如头像.如果想要上传一张图片之后就不让上传了,这时候应该咋办? 单图上传的两种解决方法 为啥是两种,因为我目前只会两种... 第一种: &l ...
- uniapp、uview——图片上传(单图上传、多图上传、多组照片上传、图片回显)
一.简介 uView组件的上传功能,单图上传.多图上传等. 官方文档地址: https://www.uviewui.com/components/upload.html 二.步骤 (一)单图上传 1. ...
- element ui图片上传-实现单图上传
1. 业务需求: 需要把多图上传的效果改造成为单图上传的效果 2. 效果展示 (1) 原来官网效果: https://element.eleme.cn/2.0/#/zh-CN/component/up ...
最新文章
- 这所985大学宣布调查结果:抄袭事实成立!撤销其硕士学位!
- armv8/arnv9的aarch64架构中系统寄存器的分类和总结
- 《Linux网络接口》---------struct ifreq struct ifconf
- 线程八大核心+java并发核心知识体系精讲_Java从业者如果不懂这些,面试80%都会挂在这些核心知识上面...
- 打印 SpringMVC中所有的接口URL
- $smary模板缓存
- dw如何制作图片自动切换效果_DW制作自动切换图js代码
- 不同斜率的直线段中点Bresenham误差项计算公式
- 平面设计美学的意义是什么?
- 数学在计算机领域的应用,浅析数学在计算机领域中的重要性
- Unity 基于UGUI的逆向九宫格图片
- 【转载】Vue -- 获取点击元素的兄弟元素
- 通过蒲公英让两台异地电脑组建局域网
- tensorflow:自定义op
- 大学android五子棋课程目的,基于安卓开发的五子棋课程设计报告..docx
- 数据结构考研笔记(十五)——图的存储结构邻接矩阵、邻接表、十字链表、临界多重表的概念
- matlab解析单片机发送数据的一种简单方法
- Hubble:“百万原生代码+混合交易分析”的利器!
- 使用console口登录管理设备和单臂路由基本配置
- 中国渔业统计年鉴(1979-2022)
热门文章
- 百旺智能编码_还在为选择开票编码烦恼吗?“智能编(赋)码”轻松帮您搞定!...
- Eviews10 如何将季度数据转为月度数据(低频转高频)
- 在 vue 中基于 tinymce 封装的一个富文本编辑器组件
- win10计算器_好用的Win10系统计算器,终于可以在移动端设备上面来用了
- 死锁和哲学家就餐问题
- 计算机毕业设计Java乡村基层政务管理系统(源码+系统+mysql数据库+Lw文档)
- 手把手教你php调用短信接口(smsapi)实现发送短信验证码
- 测绘类(遥感)投稿期刊(卓越期刊、EI、CSCD、核心期刊)汇总,内附投稿链接
- Dart | Dart 语言基础知识梳理
- python概率密度函数参数估计_概率密度估计介绍