博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云:ckeditor JS SDK 结合 C#实现多图片上传。
阅读量:7078 次
发布时间:2019-06-28

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

成功了,搞了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 += '
' + file.name + "   (" + plupload.formatSize(file.size) + ")      
"; //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 = "" + file.percent + "%" }, "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#代码。

///         /// 获得CKEDITOR上传凭证        ///         /// 
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 }); }

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

转载于:https://www.cnblogs.com/kmsfan/p/5861566.html

你可能感兴趣的文章
Python中字符串切片详解
查看>>
Caffe初学者第二部:Ubuntu16.04上安装caffe(CPU)+Matlab2014a+Opencv3的详细过程 (亲测成功, 20180529更新)...
查看>>
javascript实现双向数据绑定
查看>>
Python3学习笔记28-HtmlTestRunner
查看>>
使用Ext JS,不要使用页面做组件重用,尽量不要做页面跳转
查看>>
职场人的“存在主义”哲学
查看>>
抢先体验SQL Server 2014 CTP1!
查看>>
SFB 项目经验-08-Polycom CX700-4.0.X-能登录SFB 2015-能更新为中文
查看>>
思杰的雄心——软件定义的工作空间
查看>>
WS2008R2升级到WS2012的RDS思考
查看>>
将公用文件夹从Exchange2010迁移到 Exchange 2013
查看>>
Windows Server 2012虚拟桌面分辨率支持列表
查看>>
工信部:工业和信息化部办公厅关于印发《云计算综合标准化体系建设指南》的通知...
查看>>
FOSRestBundle功能包:使用指南
查看>>
Centos 7&6分布式lamp平台
查看>>
Microsoft Windows Server 2016 Build 10.0.9926.0下载
查看>>
Configuring Oracle Data Integrator for Cloudera
查看>>
Varnish缓存部署方式及原理详解
查看>>
C语言字符串拷贝strcpy函数的陷阱分析
查看>>
KVM虚拟化开源高可用方案(四)sheepdog
查看>>