1. GitHub克隆hdjs
  2. 配置

    代码如下:
'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 实现单图上传功能相关推荐

  1. 利用策略模式结合alibaba/alpha框架优化你的图片上传功能

    图片上传作为一个App经常用到的功能,项目中可以使用各种成熟的框架去完成,但往往实际的情况比想象的复杂.假设我们的上传功能需要满足下面的情况: 支持上传一张图 支持上传多张图 上传多张图时能获取到每张 ...

  2. ssm框架结合Ajax实现图片上传功能

    先上代码 一.html代码 <div><img src="img/头像.png" alt="选择并上传头像" id="avatar_ ...

  3. ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案

    代码实现 首先我们需要在ueditor.all.js文件中找到原本的单图上传部分的代码 搜索关键字 simpleupload,如下图所示: 然后找到上传图片的代码片段,如下图所示: 然后把 domUt ...

  4. jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能

    使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jque ...

  5. SSM框架 基于Bootstrap fileinput 实现文件上传功能

    SSM框架 基于Bootstrap fileinput 实现文件上传功能 pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <! ...

  6. tinymce 多图上传,上传文件,上传视频,单图上传

    tinymce 多图上传,上传文件,上传视频,单图上传 参考材料 引入插件 单图上传,文件上传,图片上传 多图上传 参考材料 http://tinymce.ax-z.cn/more-plugins/a ...

  7. vue文件上传功能bootstrap框架

    vue文件上传功能bootstrap框架 封装公共组件components/fileupload/FileUpload.vue 内容如下: 公共组件 ```html <template>& ...

  8. ElementUI实现el-upload单图上传

    头像上传 上传图片的时候遇到该上传的图片应该是单图上传的,比如头像.如果想要上传一张图片之后就不让上传了,这时候应该咋办? 单图上传的两种解决方法 为啥是两种,因为我目前只会两种... 第一种: &l ...

  9. uniapp、uview——图片上传(单图上传、多图上传、多组照片上传、图片回显)

    一.简介 uView组件的上传功能,单图上传.多图上传等. 官方文档地址: https://www.uviewui.com/components/upload.html 二.步骤 (一)单图上传 1. ...

  10. element ui图片上传-实现单图上传

    1. 业务需求: 需要把多图上传的效果改造成为单图上传的效果 2. 效果展示 (1) 原来官网效果: https://element.eleme.cn/2.0/#/zh-CN/component/up ...

最新文章

  1. 这所985大学宣布调查结果:抄袭事实成立!撤销其硕士学位!
  2. armv8/arnv9的aarch64架构中系统寄存器的分类和总结
  3. 《Linux网络接口》---------struct ifreq struct ifconf
  4. 线程八大核心+java并发核心知识体系精讲_Java从业者如果不懂这些,面试80%都会挂在这些核心知识上面...
  5. 打印 SpringMVC中所有的接口URL
  6. $smary模板缓存
  7. dw如何制作图片自动切换效果_DW制作自动切换图js代码
  8. 不同斜率的直线段中点Bresenham误差项计算公式
  9. 平面设计美学的意义是什么?
  10. 数学在计算机领域的应用,浅析数学在计算机领域中的重要性
  11. Unity 基于UGUI的逆向九宫格图片
  12. 【转载】Vue -- 获取点击元素的兄弟元素
  13. 通过蒲公英让两台异地电脑组建局域网
  14. tensorflow:自定义op
  15. 大学android五子棋课程目的,基于安卓开发的五子棋课程设计报告..docx
  16. 数据结构考研笔记(十五)——图的存储结构邻接矩阵、邻接表、十字链表、临界多重表的概念
  17. matlab解析单片机发送数据的一种简单方法
  18. Hubble:“百万原生代码+混合交易分析”的利器!
  19. 使用console口登录管理设备和单臂路由基本配置
  20. 中国渔业统计年鉴(1979-2022)

热门文章

  1. 百旺智能编码_还在为选择开票编码烦恼吗?“智能编(赋)码”轻松帮您搞定!...
  2. Eviews10 如何将季度数据转为月度数据(低频转高频)
  3. 在 vue 中基于 tinymce 封装的一个富文本编辑器组件
  4. win10计算器_好用的Win10系统计算器,终于可以在移动端设备上面来用了
  5. 死锁和哲学家就餐问题
  6. 计算机毕业设计Java乡村基层政务管理系统(源码+系统+mysql数据库+Lw文档)
  7. 手把手教你php调用短信接口(smsapi)实现发送短信验证码
  8. 测绘类(遥感)投稿期刊(卓越期刊、EI、CSCD、核心期刊)汇总,内附投稿链接
  9. Dart | Dart 语言基础知识梳理
  10. python概率密度函数参数估计_概率密度估计介绍