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

資訊專欄INFORMATION COLUMN

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

sourcenode / 2963人閱讀

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

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

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

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

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

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", "七牛賬號對應的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("七牛圖片服務器的域名/" + json.key) } else { oldurl = oldurl + "$$七牛圖片服務器的域名/" + 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() }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79687.html

相關文章

  • Editor.md和markdown實現Sg一樣截圖粘貼上傳

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

    weij 評論0 收藏0
  • Editor.md和markdown實現Sg一樣截圖粘貼上傳

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

    jollywing 評論0 收藏0
  • 使用七牛云存儲一些經驗總結

    摘要:原文使用七牛云存儲的一些經驗總結錯誤處理如果在與七牛的交互中出現狀態碼為的錯誤,一句話,不要猶豫,直接聯系七牛技術支持。但是筆者發現,在使用七牛云轉化后的視頻,這樣做是無效的。 近段時間將使用七牛云存儲來存放用戶上傳的數據,客戶端通過七牛的js-sdk與七牛交互,服務端C#實現了七牛相關的接口。在這過程中多多少少遇到點問題,在這里總結一下。原文:使用七牛云存儲的一些經驗總結 599錯...

    Lyux 評論0 收藏0
  • 利用七牛 qshell 和 Automator 打造快捷上傳服務

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

    cyqian 評論0 收藏0
  • Laravel5-Markdown-Editor 在線編輯器

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

    MoAir 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<