elementUI+koa实现图片上传功能
2018-10-31 16:31
1106 查看
版权声明: https://blog.csdn.net/qq_30868289/article/details/83586291
elementUI中的上传组件为:
大家可以先在自己的项目中运行一下饿了么上传组件
<el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove"> <i class="el-icon-plus"></i> </el-upload> <el-dialog :visible.sync="dialogVisible"> <img width="100%" :src="dialogImageUrl" alt=""> </el-dialog> <script> export default { data() { return { dialogImageUrl: '', dialogVisible: false }; }, methods: { handleRemove(file, fileList) { console.log(file, fileList); }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; } } } </script>
参数 | 说明 | 类型 |
---|---|---|
action | 必选参数,上传的地址 | |
list-type | 文件列表的类型 | |
on-preview | 点击文件列表中已上传的文件时的钩子 | function(file) |
on-remove | 文件列表移除文件时的钩子 | function(file, fileList) |
下面看一下服务端(koa)的配置:
这里使用了koa-multer插件
关于这该插件的使用课参考这两篇博客:
利用中间件Multer实现上传功能
nodejs - multer模块教程,使用multer进行附件上传
1、首先创建Multer对象,并通过storage对对象进行设置
//getpath.js const multer = require('koa-multer') const path = require('path') //配置 var storage = multer.diskStorage({ //文件保存路径 destination: function (req, file, cb) { cb(null, 'public/phoneManageSystem/')//path.resolve('public/phoneManageSystem') }, //修改文件名称 filename: function (req, file, cb) { var fileFormat = (file.originalname).split("."); //以点分割成数组,数组的最后一项就是后缀名 cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]); } }) //加载配置 var upload = multer({ storage: storage, limits: { fileSize: 1024*1024/2 // 限制512KB } }); export default upload
2、配置路由
//upload.js import upload from '../api/getpath.js' import koaRouter from 'koa-router' const router = koaRouter() router.post('/uploadImg', upload.single('file'), async (ctx, next) => { ctx.body = { filename: ctx.req.file.filename//返回文件名 } }) export default router
3、配置路由中间件
import koaRouter from 'koa-router' import upload from './upload.js' const router = koaRouter() router.use('/phoneManageSystem/upload', upload.routes()) export default router阅读更多
相关文章推荐
- 前端实现多图片上传查看功能(带UI实现)
- vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
- Ajax实现图片上传并预览功能
- node.js+express 实现CSDN上传头像功能 (包含图片的缩放,生成头像缩略图)
- 完美实现 IE10 下利用HTML5实现文件上传(图片上传)功能
- Java实现图片上传至服务器功能(FTP协议)
- CKeditor如何实现图片上传功能
- js 实现前端图片上传,展示缩略图功能
- 用MVC实现简单的文件(图片)上传下载功能
- HTML5实现图片压缩上传功能
- struts2实现图片的上传以及下载功能
- Servlet+Jsp实现图片或文件的上传功能具体思路及代码
- Angular2仿照微信UI实现9张图片上传和预览的示例代码
- C# 实现 HTML+一般处理程序图片上传功能如图!
- Android实现图片选择上传功能实例
- jsp中实现上传图片即时显示效果功能
- js实现图片上传预览功能
- js实现IE7图片上传预览的功能代码
- 怎样实现前端裁剪上传图片功能