1

FileUpload Control と WebMethod を使用してファイルをアップロードできますか?

UpdatePanel と ScriptManagers は避けたいと思います。

どうすればいいですか?Web Method はどのようなパラメータになりますか? 例はありますか?

ありがとう!

4

1 に答える 1

2

あなたが使用して尋ねた解決策が見つからなかったので、使用している、またはコントロール/ページとして知られているWebMethod別の解決策を考え出しました。HTTPHandlerASPX

あなたが望むものを達成するために、私はValums File Uploadを使用します。そこには多くの代替手段がありますが、これは私のケースに非常に適していることがわかったものです。詳細情報、ドキュメント、および JavaScript コードのダウンロードは、次の場所で行うことができます。

http://valums.com/ajax-upload/

コードには、サーバー側でリクエストを処理する方法の例も示されていますが、 .netのコード例は含まれていないため、このプロジェクトを見つけました。

http://www.codeproject.com/KB/aspnet/AspNetHandlerAjaxUpload.aspx

Valums File Uploadを使用し、サーバー側で.Net C#を使用してファイル アップロード リクエストを処理します。

要約すると、クライアント側でValums File Uploadを使用する方法は次のとおりです。

  1. Valum File Upload Web サイトからダウンロードしたCSSおよびJavascriptファイルを必ず参照してください。
  2. このコードを使用して、ファイル アップロード コントロールを作成します

    <div id="divFileUpload">
        <noscript>
            <p>
                Please enable JavaScript to use file uploader.</p>
        </noscript>
    </div>
    
  3. この JavaScript コードを使用して、ファイル アップロード コントロールを設定します

    $(function () {
        var uploader = new qq.FileUploader({
            element: document.getElementById('divFileUpload'),
            action: 'FileUpload.ashx',
            onComplete: function (id, fileName, responseJSON) {
                if (responseJSON.Success) {
                    alert("Success");
                }
            }
        });
    });
    

サーバー側:

  1. クライアント側からのリクエストを処理するASHXファイルを作成します。
  2. サンプルコード

    public class FileUpload : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            //Save the file here
    
            //Return Json value to client
            context.Response.Write("{ \"Success\": true }");
        }
    }
    
  3. 非常に重要です。JSON 型をクライアントに返します。

クライアント側からのリクエストの処理方法の詳細については、上記の URL を参照してください。

すべてのクレジットは、Valums File Upload についてはAndrew Valumsに、Valums File Upload使用した .Net サーバー コードについてはSyed BASHARに与えられます。

于 2011-07-05T17:17:22.243 に答える