七牛云:ckeditor JS SDK 结合 C#实现多图片上传。
成功了,搞了2天。分享一下经验。
首先是把官方的那个例子下载下来,然后照如下的方式修改。
其中tempValue是一个全局变量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | 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#代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /// <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 }); } |
网上还没找到类似的解法,我这人不太善于表达,如果有需要的话,不懂的,请在底下留言。
__EOF__
作 者:ღKawaii
出 处:https://www.cnblogs.com/kmsfan/p/5861566.html
关于博主:一个普通的小码农,为了梦想奋斗
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!

作者:
KMSFan
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2014-09-11 如何使用SOIL在VS2012的 C++环境下显示图片