成功了,搞了2天。分享一下经验。

首先是把官方的那个例子下载下来,然后照如下的方式修改。

其中tempValue是一个全局变量。

function savetoqiniu() {

	var uploader = Qiniu.uploader({
runtimes: "html5,flash,html4",
browse_button: "setfile",
save_key:false,
//uptoken: qiniu_uptoken,
get_new_uptoken: true,
uptoken_func:function()
{
tempValue=GetFileInfo();
var res = $.ajax({
type: "get",
data: {
key: tempValue
},
url: "/goods/CkeditorGetUploadToken/",
async: false
});
return JSON.parse(res.responseText).uptoken;
},
//uptoken_url: "/goods/CkeditorGetUploadToken?key=" + tempValue,
domain: qiniu_bucket_domain,
container: "container",
max_file_size: "6mb",
filters: {
mime_types: [{
title: "Image files",
extensions: "jpeg,jpg,gif,png,wbmp"
}]
},
flash_swf_url: "./Moxie.swf",
max_retries: 3,
dragdrop: true,
drop_element: "container",
chunk_size: "4mb",
auto_start: false,
init: {
"PostInit": function() {
document.getElementById("uploadfile").onclick = function() {
//document.getElementById("setfile").style.display = "none";
uploader.start();
return false
}
},
"FilesAdded": function(up, files) {
plupload.each(files,
function(file) {
document.getElementById("fileinfo").innerHTML += '<div id="' + file.id + '">' + file.name + "   (" + plupload.formatSize(file.size) + ")      <b></b> <i></i></div><br>";
//var key = Math.round(new Date().getTime() / 1000) + "_" + file.name;
//keyQiniuUpload = key;
//Test2();
})
},
"BeforeUpload": function (up, file) { },
"UploadProgress": function(up, file) {
document.getElementById(file.id).getElementsByTagName("b")[0].innerHTML = "<span>" + file.percent + "%</span>"
},
"FileUploaded": function(up, file, info) {
var res = JSON.parse(info);
var sourceLink = qiniu_bucket_domain + "/" + res.key;
document.getElementById(file.id).getElementsByTagName("i")[0].innerHTML = sourceLink;
window.CKEDITOR.tools.callFunction(1, sourceLink, 'ok');
},
"Error": function(up, err, errTip) {},
"UploadComplete": function() {},
"Key": function(up, file) {
var key = tempValue;
console.log(up); return key;
}
}
});
}

  另外注意一点,就是KEY要传到后台去的,每次的KEY不同。下面是C#代码。

        /// <summary>
/// 获得CKEDITOR上传凭证
/// </summary>
/// <returns></returns>
public ActionResult CkeditorGetUploadToken(string key)
{
string s= UploadUtil.GetUploadToken("kmsfan",key); if (!string.IsNullOrEmpty(s))
{
token token1 = new token();
token1.uptoken = s;
s = JsonConvert.SerializeObject(token1);
//HttpContext.Response.ContentType = "text/plain";
return Content(s);
//return Json(new { uptoken = s});
}
return Json(new { IsSuccess = false });
}

  网上还没找到类似的解法,我这人不太善于表达,如果有需要的话,不懂的,请在底下留言。

七牛云:ckeditor JS SDK 结合 C#实现多图片上传。的更多相关文章

  1. JS兼容各个浏览器的本地图片上传即时预览效果

    JS兼容各个浏览器的本地图片上传即时预览效果 很早以前 在工作曾经碰到这么一个需求,当时也是纠结了很久,也是google了很久,没有碰到合适的demo,今天特意研究了下这方面的的问题,所以也就做了个简 ...

  2. ckeditor如何能实现直接粘贴把图片上传到服务器中?

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  3. JS兼容各个浏览器的本地图片上传即时预览效果\、

    在firefox\chrome\ie10等浏览器中可以使用HTML5中的内容实现图片即时预览效果,在IE10以下浏览器中使用滤镜来解决图片显示问题. HTML5中的FileReader对象主要是把文件 ...

  4. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  5. PHP ckeditor富文本编辑器 结合ckfinder实现图片上传功能

    一:前端页面代码 <script src="/www/res/ckeditor/ckeditor.js"></script> <textarea id ...

  6. 七牛云存储Python SDK使用教程 - 上传策略详解

    文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k  ...

  7. .net core CKEditor 图片上传

    最近在玩 asp.net core,不想用UEditor,想使用CKEditor.故需要图片上传功能. 废话不多说,先上效果图: CKEditor 前端代码: <text id="co ...

  8. drupal中安装CKEditor文本编辑器,并配置图片上传功能

    一.下载: 1.CKEditor模块 2.IMCE模块 二.安装       1.复制: 下载完上面两个模块之后,解压,将解压后整个文件夹,复制粘贴,放到 sites\all\modules下面,个人 ...

  9. 图片上传JS插件梳理与学习

    项目的oper端和seller端,用了两个不同插件,简单了解一下: 一.seller端:AjaxUpload.js seller端使用的是 AjaxUpload.js ,封装好的一个库.调用时传入参数 ...

随机推荐

  1. HTML kbd键盘元素

    1. 说明 kbd :即Keyboard Input Element(键盘输入元素).表示键盘按键的语义元素,常用于网页上对快捷键.按键说明的场景. 样式规格:内联样式. 为了在页面上突出显示,可以给 ...

  2. jquery.Callbacks的实现

    前言 本人是一个热爱前端的菜鸟,一直喜欢学习js原生,对于jq这种js库,比较喜欢理解他的实现,虽然自己能力有限,水平很低,但是勉勉强强也算是能够懂一点吧,对于jq源码解读系列,博客园里有很多,推荐大 ...

  3. iOS开发之Masonry框架源码深度解析

    Masonry是iOS在控件布局中经常使用的一个轻量级框架,Masonry让NSLayoutConstraint使用起来更为简洁.Masonry简化了NSLayoutConstraint的使用方式,让 ...

  4. Tesseract-OCR字符识别简介

    OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程.Tesseract:开源的OCR识别引擎,初期Tesseract引擎 ...

  5. Entity Framework 手动使用migration里面的up 和down方法。

    add-migration -IgnoreChanges 201606100717405_201606100645298_InitialCreate 执行这一句后 ,清空使用map生成的代码,个人不太 ...

  6. jQuery幻灯片插件autoPic

    原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!

  7. JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  8. BPM生产安全管理解决方案分享

    一.方案概述生产安全管理是企业生产管理的重要组成部分,组织实施好企业安全管理规划.指导.检查和决策,保证生产处于最佳安全状态是安全管理的重要内容和职责.H3 BPM企业生产安全管理解决方案是一套专门为 ...

  9. 【转】组件化的Web王国

    本文由 埃姆杰 翻译.未经许可,禁止转载!英文出处:Future Insights. 内容提要 使用许多独立组件构建应用程序的想法并不新鲜.Web Component的出现,是重新回顾基于组件的应用程 ...

  10. join Linq

    List<Publisher> Publishers = new List<Publisher>(); Publisher publish1 = new Publisher() ...