2011-08-13 17 views
4

MarkDownとWMDのjavascriptツールを使用して、現在ホストされている画像に対応しているサイトを開発していますが、 Stack Overflowのように、WMD内の画像アップロード機能を使用していますが、これについてどうやって進めるべきかはわかりません。'WMD' Web Markdownと画像アップロード機能を実装する方法

これはどのように実装できますか?私のサイトはASP.NET MVCを使用して開発されていますが、画像などをアップロードするのはサーバー側で問題ありませんが、これをJavaScriptのWMDエディタ(およびおそらくAJAX要素)にフックする方法です私は立ち往生している。

答えて

1

リファクタリング版のWMDを最近リリースしました。 http://code.google.com/p/pagedown/で見つけることができます。

スタックオーバーフローの使用に関する非標準的なことはすべて、プラグインフックを介して行われます。これには、ファイルアップローダが含まれます。だからあなたはこれを実装するために同じフックを使うことができます。 documentationを見てください。 「フック」の部分はこれに沸く:実際のアップロードに関しては

editor.hooks.set("insertImageDialog", function (callback) { 
    var dia = createMyDialog(); 
    dia.find(".ok-button").click(function() { 
     var url = getChosenImageUrl(); 
     removeMyDialog(); 
     callback(url); 
    }); 
    dia.find(".cancel-button").click(function() { 
     removeMyDialog(); 
     callback(null); 
    }); 
    return true; // tell the editor not to show the standard dialog 
}); 

、我々は現在このように動作しますかなり醜いソリューションを使用します。

  • を実際のファイルアップロードフォームは、そのtargetを持っています属性が非表示のiframeに設定されているため、フォームを送信しても別のページには送信されません。
  • ダイアログを削除してコールバックを呼び出す関数がグローバルオブジェクト上に定義されています。これは醜い部分です。このメソッドは何もクリーンですが、正常に動作します。
  • アップロードコントローラアクションは、この機能を呼び出すJavaScriptコードを含む最小限のHTMLドキュメントを返します(window.parent経由で、iframeから抜け出す必要があるため、–はアップロードURLとページ!)を新しく作成されたイメージのアドレスに置き換えます。

これを同様の方法で実装する場合は、表示される厄介なChromeのバグやその回避策についてat this post on Meta Stack Overflowをご覧ください。

+0

画像のアップロード操作全体のコード例がないと思います。 – marcusstarnes

関連する問題