国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何將editor.md的圖片上傳改成七牛?

sourcenode / 2968人閱讀

摘要:之前的編輯器一直用的是但是問(wèn)題也不少之后覺(jué)得換成編輯器首選當(dāng)然就是主要原因就是界面美觀功能全面但是問(wèn)題也有比如圖片上傳不知道為什么作者會(huì)用那么蛋疼的表單上傳難道只是為了兼容看了上的維護(hù)時(shí)間最后一次維護(hù)差不多半年了想讓作者來(lái)改可能性是不大了那

之前的編輯器一直用的是simditor, 但是問(wèn)題也不少, 之后覺(jué)得換成markdown編輯器, 首選當(dāng)然就是editor.md, 主要原因就是界面美觀, 功能全面...

但是editor.md問(wèn)題也有, 比如圖片上傳, 不知道為什么作者會(huì)用那么蛋疼的表單上傳, 難道只是為了兼容IE8? 看了github上的維護(hù)時(shí)間, 最后一次維護(hù)差不多半年了, 想讓作者來(lái)改, 可能性是不大了, 那么就只能自己來(lái)了...

editor.md的圖片上傳是以插件的形式存在的, 文件在./plugins/image-dialog/image-dialog.js, 我們就拿這個(gè)文件開(kāi)刀.

另外, editor.md添加圖片后, 不設(shè)置alt, 會(huì)自動(dòng)跳到第二行, 只需要把cm.setCursor(cursor.line, cursor.ch + 2)注釋了即可, 沒(méi)有搞明白作者這段代碼的用意是什么...

exports.fn.imageDialog = function () {
    var cm = this.cm
    var lang = this.lang
    var editor = this.editor
    var settings = this.settings
    var cursor = cm.getCursor()
    var selection = cm.getSelection()
    var imageLang = lang.dialog.image
    var classPrefix = this.classPrefix
    var iframeName = classPrefix + "image-iframe"
    var dialogName = classPrefix + pluginName,
        dialog
    cm.focus()
    var loading = function (show) {
        var _loading = dialog.find("." + classPrefix + "dialog-mask")
        _loading[(show) ? "show" : "hide"]()
    }
    if (editor.find("." + dialogName).length < 1) {
        var guid = new Date().getTime()
        var action = settings.imageUploadURL + (settings.imageUploadURL.indexOf("?") >= 0 ? "&" : "?") + "guid=" + guid
        if (settings.crossDomainUpload) {
            action += "&callback=" + settings.uploadCallbackURL + "&dialog_id=editormd-image-dialog-" + guid
        }
        var dialogContent = ((settings.imageUpload) ? "
" : "
") + "" + "" + (function () { return (settings.imageUpload) ? "
" + "" + "" + "
" : "" })() + "
" + "" + "" + "
" + "" + "" + "
" + ((settings.imageUpload) ? "" : "
") dialog = this.createDialog({ title: imageLang.title, width: (settings.imageUpload) ? 465 : 380, height: 254, name: dialogName, content: dialogContent, mask: settings.dialogShowMask, drag: settings.dialogDraggable, lockScreen: settings.dialogLockScreen, maskStyle: { opacity: settings.dialogMaskOpacity, backgroundColor: settings.dialogMaskBgColor }, buttons: { enter: [lang.buttons.enter, function () { var url = this.find("[data-url]").val() var alt = this.find("[data-alt]").val() var link = this.find("[data-link]").val() if (url === "") { alert(imageLang.imageURLEmpty) return false } var altAttr = (alt !== "") ? " "" + alt + """ : "" var arr_url = url.split("$$") var text = "" for (var i = 0, length = arr_url.length; i < length; i++) { if (link === "" || link === "http://") { text = text + "![" + alt + "](" + arr_url[i] + altAttr + ") " } else { text = text + "[![" + alt + "](" + arr_url[i] + altAttr + ")](" + link + altAttr + ") " } } cm.replaceSelection(text) if (alt === "") { // cm.setCursor(cursor.line, cursor.ch + 2) } this.hide().lockScreen(false).hideMask() return false }], cancel: [lang.buttons.cancel, function () { this.hide().lockScreen(false).hideMask() return false }] } }) dialog.attr("id", classPrefix + "image-dialog-" + guid) if (!settings.imageUpload) { return } var Qiniu_upload = function(files, length, i) { if (length > i) { var formdata = new FormData() formdata.append("file", files[i]) formdata.append("key", new Date().getTime() + ".jpg") formdata.append("token", "七牛賬號(hào)對(duì)應(yīng)的token") $.ajax({ type: "POST", url: "http://up.qiniu.com/", data: formdata, dataType: "json", contentType: false, processData: false }).then(function(json) { var oldurl = $("[data-url]").val() if (oldurl === "") { $("[data-url]").val("七牛圖片服務(wù)器的域名/" + json.key) } else { oldurl = oldurl + "$$七牛圖片服務(wù)器的域名/" + json.key $("[data-url]").val(oldurl) } i++ Qiniu_upload(files, length, i) }, function (err) { console.log(err) }) } else { $("[name="file"]").val("") loading(false) } } var submitHandler = function() { var files = $("[name="file"]")[0].files if (files.length > 0) { Qiniu_upload(files, files.length, 0) } return false } var fileInput = dialog.find("[name="file"]") fileInput.off("change").on("change", function() { var fileName = fileInput.val() var isImage = new RegExp("(.(" + settings.imageFormats.join("|") + "))$") // /(.(webp|jpg|jpeg|gif|bmp|png))$/ if (fileName === "") { alert(imageLang.uploadFileEmpty) return false } if (!isImage.test(fileName)) { alert(imageLang.formatNotAllowed + settings.imageFormats.join(", ")) return false } loading(true) dialog.find("[type="submit"]").off("click").on("click", submitHandler).trigger("click") }) } dialog = editor.find("." + dialogName) dialog.find("[type="text"]").val("") dialog.find("[type="file"]").val("") dialog.find("[data-link]").val("http://") this.dialogShowMask(dialog) this.dialogLockScreen() dialog.show() }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/79687.html

相關(guān)文章

  • Editor.md和markdown實(shí)現(xiàn)Sg一樣截圖粘貼上傳

    暫時(shí)我還沒(méi)有把這個(gè)做成一個(gè)插件,只是簡(jiǎn)單的幾行代碼。其中原理就是通過(guò)截圖后,ev.clipboardData 包含了text和圖片文件 數(shù)據(jù) 原文鏈接:http://blog.oeynet.com/post/7... showImg(https://segmentfault.com/img/remote/1460000010776970); 1.Js監(jiān)聽(tīng)paste事件 seajs.use([edi...

    weij 評(píng)論0 收藏0
  • Editor.md和markdown實(shí)現(xiàn)Sg一樣截圖粘貼上傳

    暫時(shí)我還沒(méi)有把這個(gè)做成一個(gè)插件,只是簡(jiǎn)單的幾行代碼。其中原理就是通過(guò)截圖后,ev.clipboardData 包含了text和圖片文件 數(shù)據(jù) 原文鏈接:http://blog.oeynet.com/post/7... showImg(https://segmentfault.com/img/remote/1460000010776970); 1.Js監(jiān)聽(tīng)paste事件 seajs.use([edi...

    jollywing 評(píng)論0 收藏0
  • 使用七牛云存儲(chǔ)一些經(jīng)驗(yàn)總結(jié)

    摘要:原文使用七牛云存儲(chǔ)的一些經(jīng)驗(yàn)總結(jié)錯(cuò)誤處理如果在與七牛的交互中出現(xiàn)狀態(tài)碼為的錯(cuò)誤,一句話,不要猶豫,直接聯(lián)系七牛技術(shù)支持。但是筆者發(fā)現(xiàn),在使用七牛云轉(zhuǎn)化后的視頻,這樣做是無(wú)效的。 近段時(shí)間將使用七牛云存儲(chǔ)來(lái)存放用戶上傳的數(shù)據(jù),客戶端通過(guò)七牛的js-sdk與七牛交互,服務(wù)端C#實(shí)現(xiàn)了七牛相關(guān)的接口。在這過(guò)程中多多少少遇到點(diǎn)問(wèn)題,在這里總結(jié)一下。原文:使用七牛云存儲(chǔ)的一些經(jīng)驗(yàn)總結(jié) 599錯(cuò)...

    Lyux 評(píng)論0 收藏0
  • 利用七牛 qshell 和 Automator 打造快捷上傳服務(wù)

    摘要:運(yùn)行成功之后粘貼板中應(yīng)該會(huì)有如下內(nèi)容到這里,只剩下下載安裝就大功告成這里還用到了修改權(quán)限命令,有興趣的話可以查看我另一篇文章服務(wù)器搭建基礎(chǔ)知識(shí)。 來(lái)源 早前訂閱了一個(gè)圖片上傳工具 iPic,單單就圖片上傳這一功能來(lái)說(shuō)它無(wú)疑是非常優(yōu)秀的。無(wú)奈我有的時(shí)候要上傳一些非圖片小文件,雖然這個(gè)只是個(gè)小功能,一個(gè)小小的腳本就可以做到,但是想想用到這個(gè)功能的時(shí)候還要打開(kāi)terminal,emmmm…(...

    cyqian 評(píng)論0 收藏0
  • Laravel5-Markdown-Editor 在線編輯器

    摘要:是基于封裝的在線編輯器,支持項(xiàng)目。已集成本地七牛云阿里云文件存儲(chǔ)。更新記錄完成在線編輯器主程序,且集成本地七牛阿里云存儲(chǔ)。 Laravel5-Markdown-Editor Laravel5-Markdown-Editor 是基于 editor.md 封裝的 Markdown 在線編輯器,支持 Laravel5 項(xiàng)目。已集成本地、七牛云、阿里云文件存儲(chǔ)。 更新記錄 2017-11-09...

    MoAir 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<