javascript
  • asp.net
  • image
  • path
  • 2011-11-10 22 views 0 likes 
    0

    JavaScriptを使用して動的に生成された画像をAsp.Netで削除しようとしていますが、divのコンテナから削除することはできません。Asp.Netでjavascriptを使用してフォルダから画像を削除

    どうすればいいですか?ここで

    は私のコードです:

    $('#container').append("<div class='container a'><a href='#'><img src='uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + "' width='64' height='64'/><span></span></a></div>"); 
    $('.container a span').live('click', function (e) { 
        $(this).closest('div.container').fadeOut("normal", function() {       
         var ImagePath ="uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + ""; 
         var sPath = Server.MapPath(ImagePath) + dataName + fileName; 
         $(sPath).remove(); 
        }); 
        return false; 
    }); 
    
    +0

    javascriptを使用してサーバー上の画像を削除しようとしていますか? –

    +0

    実際の問題は何ですか?何らかのエラーや例外がありますか?あなたのsPath変数は、修飾された正しいパスを提供しますか?あなたはtry {} catchを追加して見ることができます。 – Kangkan

    +0

    はい私はそれを行ってパスを正しく表示していて、コンテナから削除できますが、フォルダからは削除できません。 – coder

    答えて

    3

    あなたは直接だけではJavaScriptを使用してサーバから画像を削除することはできません。これを実現する唯一の方法は、これを行うためのサーバー側のメソッドを呼び出すことです。

    .NETの場合、サーバー上にメソッドを作成し、それをWebサービスとして公開することで、これを実現できます。このメソッドを呼び出すには、jQueryのajax機能を使用してイメージ名を渡して削除します。あなたのウェブサービスをajax POSTリクエストに制限することをお勧めします。リチャードがコメントで指摘したように、削除できるものと削除できないものを説明します。

    +0

    ありがとうAndy私がリチャードに尋ねてきたことは、これでAjaxを使うことができるのですがどうすればいいのですか? – coder

    +0

    この方法で削除できるファイルを制限することに非常に注意する必要があります。そうしないと、大規模なセキュリティホールが発生します。おそらく、各画像が動的に生成されたIDを持ち、それを画像パスではなく削除に使用するのが最適です。 –

    +0

    はいrichard私はすでに各ファイルのための別々のIDを生成しており、良いアイデアです。そしてあなたのすべての助けに感謝します。 – coder

    関連する問題