base64

图片 base64转byte[]

假如想象 提交于 2020-03-13 12:09:13
/// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name="imgCode"></param> /// <returns></returns> private string SaveBase64Image(string imgCode) { string imgUrl = string.Empty; if (!string.IsNullOrEmpty(imgCode)) { Regex reg = new Regex(@"data:(image.+);base64,(.+)"); if (reg.IsMatch(imgCode)) { var matchs = reg.Match(imgCode); string contentType = matchs.Groups[1].Value; string base64Code = matchs.Groups[2].Value; string extendType = contentType.Replace("image/", ""); byte[] arr = Convert.FromBase64String(base64Code);//base64转byte[] //var picture = _pictureService.InsertPicture

base64转byte[]、byte[]转base64、byte[]转图片后图片按固定宽高缩放

泄露秘密 提交于 2020-03-13 12:08:38
/** * 图片缩放 */ public static BufferedImage ImageStringByte(int width, byte[] b) { InputStream buffin = new ByteArrayInputStream(b); BufferedImage src = null; try { src = ImageIO.read(buffin); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 读入文件 int widthYuan = src.getWidth(); // 得到源图宽 int heightYuan = src.getHeight(); // 得到源图长 heightYuan = heightYuan / (widthYuan/width); widthYuan = width ; Image image = src.getScaledInstance(widthYuan, heightYuan, Image.SCALE_DEFAULT); BufferedImage tag = new BufferedImage(widthYuan, heightYuan, BufferedImage.TYPE_INT_RGB

base64原理

谁说我不能喝 提交于 2020-03-12 11:32:51
一、 base64是什么? 按照 RFC2045 的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。 二、 base64的作用及用途 作用: 实现简单的数据加密,使用户一眼望去完全看不出真实数据内容,base64算法的复杂程度要小,效率要高相对较高。 某些系统或应用,只能使用ASCII字符,例如Email,需使用base64对数据进行编码。 用途: 在MIME中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。在Email的传送过程中,由于历史原因,Email只被允许传送ASCII字符,即一个8位字节的低7位(0-127)。因此,如果用户发送了一封带有非ASCII字符(即字节的最高位是1)的Email通过有“历史问题”的网关时就可能会出现问题。网关可能会把最高位置为0。这个时候,问题出现了

图片转成base64格式上传至数据库

故事扮演 提交于 2020-03-11 10:45:37
<!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title>图片上传</title> <script src="jquery-2.1.4.min.js"></script> </head> <body> 上传<input type="file" id="image_upload" accept="image/jpeg, image/png, image/jpg"> <div> <img src="" id="img" /> </div> </body> <script> var fileInput = document.getElementById("image_upload"); //选择文件 fileInput.addEventListener('change', function() { //如果未传入文件则中断 if(fileInput.files[0] == undefined) { return; } var file = fileInput.files[0]; //FileReader可直接将上传文件转化为二进制流 var reader = new FileReader(); reader.readAsDataURL(file); // reader.onload = function() { /

base64转word文档并且下载

感情迁移 提交于 2020-03-11 09:53:06
shows(item){ console.log(item) if (item.FILETYPE.substring(item.FILETYPE.lastIndexOf('.')+1,item.FILETYPE.length)=='docx') { const dataURLtoBlob = function (dataurl) { let arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], { type: mime }); } const downloadFile = function downloadFile(url,name=item.CNAME){ let a = document.createElement("a") a.setAttribute("href",url) a.setAttribute("download",name) a.setAttribute("target","_blank") let clickEvent =

基于Token的身份验证

妖精的绣舞 提交于 2020-03-11 02:12:06
最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。 传统身份验证的方法 HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。 解决的方法就是,当用户请求登录的时候,如果没有问题,我们在服务端生成一条记录,这个记录里可以说明一下登录的用户是谁,然后把这条记录的 ID 号发送给客户端,客户端收到以后把这个 ID 号存储在 Cookie 里,下次这个用户再向服务端发送请求的时候,可以带着这个 Cookie ,这样服务端会验证一个这个 Cookie 里的信息,看看能不能在服务端这里找到对应的记录,如果可以,说明用户已经通过了身份验证,就把用户请求的数据返回给客户端。 上面说的就是 Session,我们需要在服务端存储为登录的用户生成的 Session ,这些 Session 可能会存储在内存,磁盘,或者数据库里。我们可能需要在服务端定期的去清理过期的 Session 。

基于 Token 的身份验证

China☆狼群 提交于 2020-03-11 02:11:46
最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。 传统身份验证的方法 HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。 解决的方法就是,当用户请求登录的时候,如果没有问题,我们在服务端生成一条记录,这个记录里可以说明一下登录的用户是谁,然后把这条记录的 ID 号发送给客户端,客户端收到以后把这个 ID 号存储在 Cookie 里,下次这个用户再向服务端发送请求的时候,可以带着这个 Cookie ,这样服务端会验证一个这个 Cookie 里的信息,看看能不能在服务端这里找到对应的记录,如果可以,说明用户已经通过了身份验证,就把用户请求的数据返回给客户端。 上面说的就是 Session,我们需要在服务端存储为登录的用户生成的 Session ,这些 Session 可能会存储在内存,磁盘,或者数据库里。我们可能需要在服务端定期的去清理过期的 Session 。

python之文本处理

大城市里の小女人 提交于 2020-03-10 06:27:46
文本文件的处理 打开文件 函数:open(filename,mode) filename => 访问的文件 mode => 访问模式 常见模式 作用 r 只读 r+ 读写 w 只写 文件存在则覆盖,不存在则创建 w+ 只写 文件存在则覆盖,不存在则创建 a 追加 文件存在追加到已有内容后 rb 读写 wb 读写 ab 追加和读 读 比如我在这里先编辑了一个1.txt 然后写一个脚本来读取它 file = open ( '1.txt' , 'r' ) print ( file . readline ( ) ) why?? 为什么只显示一行 read 读取整个文件,每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说内容是一个字符串类型。 readline 读取下一行,每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型。 readlines 读取整个文件到一个迭代器以供我们遍历,每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型。] O~ 这下就明白了,所以咱们使用read() 使用readlines()的情况 其实它也是可以像read()一样输出 比如: 那么这里我也就不多举例了哈,有兴趣的可以自己动手研究一下~ 当然,还有另一种表示的方法 比如: with open ( '1.txt' , 'r' ) as f

C# 图片与Base64的相互转化

早过忘川 提交于 2020-03-09 14:07:36
public ActionResult UploadSignature2(string src_data) { Class1.Base64StrToImage(src_data, "C:\\Users\\45448\\Desktop\\1\\"+ DateTime.Now.ToString("yyyyMMddHHss") + ".png"); return Json(1, JsonRequestBehavior.AllowGet); } /// <summary> /// 将Base64字符串转换为图片并保存到本地 /// </summary> /// <param name="base64Str">base64字符串</param> /// <param name="savePath">图片保存地址,如:/Content/Images/10000.png</param> /// <returns></returns> public static bool Base64StrToImage(string base64Str, string savePath) { var ret = true; try { base64Str = base64Str.Replace("data:image/png;base64,", "").Replace("data:image/jgp

java md5及3des加密实现

被刻印的时光 ゝ 提交于 2020-03-08 23:15:45
import org.apache.commons.codec.digest.DigestUtils; public class MD5 { /** * MD5方法 * * @param text 明文 * @param key 密钥 * @return 密文 * @throws Exception */ public static String md5(String text, String key) { //加密后的字符串 String encodeStr=DigestUtils.md5Hex(text + key); // System.out.println("MD5加密后的字符串为:encodeStr="+encodeStr); return encodeStr; } /** * MD5验证方法 * * @param text 明文 * @param key 密钥 * @param md5 密文 * @return true/false * @throws Exception */ public static boolean verify(String text, String key, String md5) { //根据传入的密钥进行验证 String md5Text = md5(text, key); if(md5Text.equalsIgnoreCase(md5)