博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Element+vue+分页+七牛云实现图片上传
阅读量:3962 次
发布时间:2019-05-24

本文共 4504 字,大约阅读时间需要 15 分钟。

目录

0.准备

注册并实名七牛云

1.vue安装所需环境

npm i element-ui -S

pom依赖:

com.qiniu
qiniu-java-sdk
[7.3.0, 7.3.99]
com.google.code.gson
gson
2.8.5
compile

2.main.js中导包

import Vue from 'vue'import App from './App'import router from './router'import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);Vue.config.productionTip = false/* eslint-disable no-new */new Vue({
el: '#app', router, components: {
App }, template: '
'})

3.index.vue页面

4.insert.vue页面

5.后端:上传工具类

public class UploadUtils {
public String upload(MultipartFile multipartFile){
//构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region0()); //...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); //...生成上传凭证,然后准备上传 String accessKey = "自己的ak"; String secretKey = "自己的sk"; String bucket = "自己的名称"; //默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; try {
byte[] bytes = multipartFile.getBytes(); ByteArrayInputStream byteInputStream=new ByteArrayInputStream(bytes); Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try {
Response response = uploadManager.put(byteInputStream,key,upToken,null, null); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); System.out.println(putRet.key); System.out.println(putRet.hash); return "自己的网址"+putRet.key; } catch (QiniuException ex) {
Response r = ex.response; System.err.println(r.toString()); try {
System.err.println(r.bodyString()); } catch (QiniuException ex2) {
//ignore } } } catch (UnsupportedEncodingException ex) {
//ignore } catch (IOException e) {
e.printStackTrace(); } return ""; }}

6.后端:上传Controller

@RequestMapping("/upload")    public String upload(@RequestParam("file") MultipartFile multipartFile){
System.out.println(multipartFile.getOriginalFilename()); UploadUtils uploadUtils = new UploadUtils(); String upload = uploadUtils.upload(multipartFile); return upload; }

7.后端:分页实体类,serviceImpl和controller

实体类

@Datapublic class BookResp
{
public List
list; public Long total;}

serviceImpl

@Override    public BookResp findAll(Integer page, Integer size) {
PageRequest pageRequest = new PageRequest(page, size); BookResp bookResp = new BookResp<>(); Page
all = bookRespository.findAll(pageRequest); if(all!=null){
List
content = all.getContent(); bookResp.setList(content); long totalElements = all.getTotalElements(); bookResp.setTotal(totalElements); return bookResp; } return null; }

controller

@RequestMapping("/findAll/{page}/{size}")    public BookResp findAll(@PathVariable("page")Integer page,@PathVariable("size") Integer size){
BookResp bookResp=bookservice.findAll(page-1,size); return bookResp; }

效果图:

在这里插入图片描述
在这里插入图片描述

转载地址:http://qcezi.baihongyu.com/

你可能感兴趣的文章
通过研究微信文章的相关推荐逻辑 ,尝试生成指南| Mixlab设计黑客
查看>>
这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活 | MixAI 知识库 No.70...
查看>>
表情包数据挖掘 | Mix群聊
查看>>
如何阅读科研论文
查看>>
理解本真的REST架构风格
查看>>
10款免费且开源的项目管理工具
查看>>
java调用javascript :js引擎rhino
查看>>
asp 中常用的文件处理函数
查看>>
ADO中sqlserver存储过程使用
查看>>
Linux KernelTech版FAQ 1.0
查看>>
ntfs分区iis故障的解决
查看>>
个人创业“六大死穴”
查看>>
最重要的 12个 J2EE 最佳实践
查看>>
通过Java Swing看透MVC设计模式
查看>>
Java 理论与实践: 关于异常的争论
查看>>
编写高效的线程安全类
查看>>
提高Java代码可重用性的三个措施
查看>>
编写跨平台Java程序注意事项
查看>>
富人和穷人的12个经典差异
查看>>
java 注意事项[教学]
查看>>