前端图片裁剪并上传到七牛云kodo

2024-06-13 18:48

本文主要是介绍前端图片裁剪并上传到七牛云kodo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近项目中用到七牛云图片上传,特别记录。

我的七牛云kodo存储区域是“华南”,demo示例均为华南,为了跑demo避免问题,建议使用华南区。

一 .服务端代码(java)

(1)导入maven

<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.2.29</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>3.3.1</version><scope>compile</scope></dependency>

(2)获取签名代码

package com.durian.amanager.controllers.upload;import java.util.UUID;import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import com.durian.common.tool.ConfigUtils;
import com.qiniu.util.Auth;
import com.qiniu.util.StringMap;@Controller
@Scope("prototype")
@RequestMapping("/qiniu")
public class QiniuUploadController {/** 简单方式解决中文乱码问题,通常不采用*/
//	@RequestMapping(value = "/login2",produces = "application/json;charset=utf-8";)@RequestMapping(value = "/imageUptoken")@ResponseBodypublic QiNiu imageUptoken() {String bucket = ConfigUtils.getString("qiniu.image.bucket", "", "qiniu");return getUptoken(bucket);}@RequestMapping(value = "/attachmentUptoken")@ResponseBodypublic QiNiu attachmentUptoken() {String bucket = ConfigUtils.getString("qiniu.attachment.bucket", "", "qiniu");return getUptoken(bucket);}private QiNiu getUptoken(String bucket) {QiNiu qiNiu = new QiNiu();String accessKey = ConfigUtils.getString("qiniu.accessKey", "", "qiniu");String secretKey = ConfigUtils.getString("qiniu.secretKey", "", "qiniu");long expireSeconds = ConfigUtils.getString("qiniu.expireSeconds", 600L, "qiniu"); // 过期时间StringMap putPolicy = new StringMap();Auth auth = Auth.create(accessKey, secretKey);String upToken = auth.uploadToken(bucket, null, expireSeconds, putPolicy);qiNiu.setKey(UUID.randomUUID().toString().replaceAll("\\-", ""));qiNiu.setUptoken(upToken);return qiNiu;}
}class QiNiu {private String uptoken;private String key;public String getUptoken() {return uptoken;}public void setUptoken(String uptoken) {this.uptoken = uptoken;}public String getKey() {return key;}public void setKey(String key) {this.key = key;}
}
package com.durian.common.tool;import java.util.ResourceBundle;import org.apache.commons.lang3.StringUtils;/*** 从指定文件取值* * @author leng**/
public class ConfigUtils {/*** 从指定文件取值* * @param key* @param defaultValue* @param configName* @return*/public static String getString(String key, String defaultValue, String configName) {try {ResourceBundle rb2 = ResourceBundle.getBundle(configName);String str = rb2.getString(key).trim();if (StringUtils.isNotEmpty(str)) {return str;}} catch (Exception e) {// TODO: handle exception}return defaultValue;}/*** 从指定文件取值* * @param key* @param defaultValue* @param configName* @return*/public static Long getString(String key, Long defaultValue, String configName) {String str = getString(key, "", configName);if (StringUtils.isEmpty(str)) {return defaultValue;}return Long.parseLong(str);}
}

 

二.前端代码核心

(1)通过h5的canvas能力生成base64的图片编码

(2)获取签名

(3)将base64编码上传到七牛云(图中圈出的链接和七牛的服务器地域有关系)

这里window.opener.uploadCallback是我的页面回调。

 

前端代码:

链接:https://pan.baidu.com/s/1G6oPNwd8v2dpIcBN0QYtpg 
提取码:mvug 
复制这段内容后打开百度网盘手机App,操作更方便哦。

这篇关于前端图片裁剪并上传到七牛云kodo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058129

相关文章

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,