jquery上传base64位图片


  <img id="articleImg" width="180" height="100">
  <input type="file" value="上传" id="articleImg

 1 $(‘#articleImgBtn‘).change(function(){
 2             run(this, function (data) {
 3                 uploadImage(data);
 4             });
 5         });
 6
 7         function run(input_file, get_data) {
 8             /*input_file:文件按钮对象*/
 9             /*get_data: 转换成功后执行的方法*/
10             if (typeof (FileReader) === ‘undefined‘) {
11                 alert("抱歉,你的浏览器不支持 FileReader,不能将图片转换为Base64,请使用现代浏览器操作!");
12             } else {
13                 try {
14                     /*图片转Base64 核心代码*/
15                     var file = input_file.files[0];
16                     //这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件
17                     if (!/image\/\w+/.test(file.type)) {
18                         alert("请确保文件为图像类型");
19                         return false;
20                     }
21                     var reader = new FileReader();
22                     reader.onload = function () {
23                         get_data(this.result);
24                     }
25                     reader.readAsDataURL(file);
26                 } catch (e) {
27                     alert(‘图片转Base64出错啦!‘ + e.toString())
28                 }
29             }
30         }
31
32         function uploadImage(img) {
33             //判断是否有选择上传文件
34                 var imgPath = $("#articleImgBtn").val();
35                 if (imgPath == "") {
36                     alert("请选择上传图片!");
37                     return;
38                 }
39                 //判断上传文件的后缀名
40                 var strExtension = imgPath.substr(imgPath.lastIndexOf(‘.‘) + 1);
41                 if (strExtension != ‘jpg‘ && strExtension != ‘gif‘
42                 && strExtension != ‘png‘ && strExtension != ‘bmp‘) {
43                     alert("请选择图片文件");
44                     return;
45                 }
46                 $.ajax({
47                     type: "POST",
48                     url: ’上传图片接口‘,
49                     data: { token: token,file: img.substr(img.indexOf(‘,‘) + 1)},    //视情况将base64的前面字符串data:image/png;base64,删除
50                     cache: false,
51                     success: function(data) {
52                         alert("上传成功");
53                         $("#articleImg").attr(‘src‘, JSON.parse(data).imageUrl);
54                     },
55                     error: function(XMLHttpRequest, textStatus, errorThrown) {
56                         alert("上传失败,请检查网络后重试");
57                     }
58                 });
59             }
时间: 2024-10-24 15:38:04

jquery上传base64位图片的相关文章

接口上传base64编码图片

1 package com.*.util; 2 3 import java.io.FileInputStream; 4 5 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.OutputStream; 10 import java.util.Date; 11 12 import Decoder.BASE64Decoder;

上传base64图片到七牛云前端遇到的坑

介意前端普通引入七牛云SDk上传图片到七牛云需要多个js,所以才有了base64的上传方式,简化操作,(懒.) 七牛云官方文档如下 https://developer.qiniu.com/kodo/kb/1326/how-to-upload-photos-to-seven-niuyun-base64-code 我们前端理所当然就复制黏贴了..然后问题就来了 看地址 var url = "http://upload.qiniu.com/putb64/20264"; //非华东空间需要根据

MVC使用JCrop上传、裁剪图片

JCrop用来裁剪图片,本篇想体验的是: 在视图页上传图片: 上传成功,跳转到另外一个编辑视图页,使用JCrop对该图片裁剪,并保存图片到指定文件夹: 裁剪成功后,在主视图页显示裁剪图片: 当然,实际项目中最有可能的做法是:在本页上传.裁剪并保存. □ 思路 →在上传图片视图页,把图片上传保存到一个临时文件夹Upload→在编辑裁剪视图页,点击"裁剪"按钮,把JCrop能提供的参数,比如宽度.高度.离顶部距离,离底部距离,离左右端距离等封装成类,传递给控制器方法→控制器方法根据接收到的

jQuery上传插件Uploadify使用详解(转发原作者冯威)

jQuery上传插件Uploadify使用详解 本文Uploadify版本为2.1.0,已经过时,截止(2016-09-25)最新版本3.2.1的详细介绍请移步<jQuery上传插件Uploadify使用详解(3.2.1)> Uploadify是jQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载. 官方下载 官方文档 官方演示 首先按下面的步骤来实现一个简单的

dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术:HTML5的api,作为一名前端的菜鸟,没什么可说的,直接分享自己学习的资料: 关于HTML5 的这些新的特性大家可以到Mozilla的开发者社区MDN https://developer.mozilla.org/zh-CN/ 上查HTML5的资料 还有就是发掘到的比较牛逼的一篇博客:http:/

html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

原文:html5 图片上传,支持图片预览.压缩.及进度显示,兼容IE6+及标准浏览器 以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上传组件添加了单独的图片上传UI,支持图片预览和缩放(通过调整图片的大小以实现图片压缩). 上传组件特点 轻量级,不依赖任何JS库,核心代码(Q.Uploader.js)仅约700行,min版本加起来不到12KB 纯

JQuery上传插件Uploadify使用详解及错误处理

转自:http://www.jb51.net/article/43498.htm 关于JQuery上传插件Uploadify使用详解网上一大把,基本上内容都一样.我根据网上的步骤配置完成后,会报一些错误,而我根据这些错误去网上找解决方案,却没有相关资料,所以为了不让更多的朋友走弯路,我把我遇到的一些问题进行汇总,也方便我自己以后查阅. 什么是Uploadify Uploadify是JQuery的一个上传插件,支持多文件上传,实现的效果非常不错,带进度显示. 官网提供的是PHP的DEMO,在这里我

jquery上传文件控件Uploadify

基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个版本,一个用flash,一个是html5.html5的需要付费~所以这里只说flash版本的用法. 官网:http://www.uploadify.com/ 控件截图: 用法: 首先引用下面的文件 <link rel="stylesheet" type="text/css&

如何使用c#上传base64编码的数据

using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace Test { class Program { static void Ma