用wmd上传图片?

时间:2008-12-17 17:39:11

标签: c# javascript asp.net-mvc file-upload wmd

是否可以使用wmd编辑器添加一个按钮,让用户将图像上传到Web服务器并将相应的img markdown放在文本框中?如果没有,另一位优秀的现场编辑会这样做吗?上下文:我使用的是asp.net mvc,C#,我是javascript的真正初学者。

3 个答案:

答案 0 :(得分:1)

简要阅读WMD似乎表明此功能不是直接支持的,并且控件不是特别可插拔的。

话虽如此,没有什么可以阻止你创建一个按钮/上传字段/无论是什么将图像发送到你的服务器并注入适当的:

<img src="http://your.server.com/path/to/attachments/..." />

进入控件的底层textarea。

答案 1 :(得分:1)

以下是WMD附带的最小示例的变体:

    <!DOCTYPE html>
<html>
  <head>
    <title>WMD minimal example</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
    <script type="text/javascript">
    $.fn.insertAtCaret = function (myValue) {
            return this.each(function(){
                    //IE support
                    if (document.selection) {
                            this.focus();
                            sel = document.selection.createRange();
                            sel.text = myValue;
                            this.focus();
                    }
                    //MOZILLA/NETSCAPE support
                    else if (this.selectionStart || this.selectionStart == '0') {
                            var startPos = this.selectionStart;
                            var endPos = this.selectionEnd;
                            var scrollTop = this.scrollTop;
                            this.value = this.value.substring(0, startPos)
                                          + myValue
                                  + this.value.substring(endPos,
    this.value.length);
                            this.focus();
                            this.selectionStart = startPos + myValue.length;
                            this.selectionEnd = startPos + myValue.length;
                            this.scrollTop = scrollTop;
                    } else {
                            this.value += myValue;
                            this.focus();
                    }
            });

    };

    int i = 50;

    function Add()
    {
        $("#myTextarea").insertAtCaret("![alt text][" +(i++)+"]");
        // You'll need to add the link too, at the bottom
    }
    </script>
  </head>
  <body>

    <form>
    <a href="javascript:Add()">test</a>
        <textarea id="myTextarea" style="width: 500px; height: 200px;">*This* is a minimal example.</textarea>
    </form>
    <div class="wmd-preview"></div>

    <script type="text/javascript" src="wmd/wmd.js"></script>
  </body>
</html>

但这只是你可能会说的开始。 This markdown编辑看起来更好

答案 2 :(得分:0)

我写了一篇blog post来解释我是如何解决这个问题的。在帖子中,我使用PHP - 如果您愿意将我的PHP逻辑转换为ASP.NET,您可能会觉得它很有用!