2016-04-11 16 views
0

私はDNUのWebサイトのFineUploaderを見ています。.Netハンドラ(ashx)for Fineuploader

私は正常に動作するよう、基本的なハンドラがあります。

public void ProcessRequest(HttpContext context) 
    { 
     try 
     { 
      var UserId = context.Request["userId"]; 
      var PortalId = context.Request["portalId"]; 
      //var UserAgent = context.Request["userAgent"]; 

      context.Response.ContentType = "text/plain"; 

      var tempPath = "~/Portals/" + PortalId + "/some-documents/users/" + UserId; 
      var dirFullPath = context.Server.MapPath(tempPath); 


      foreach (string s in context.Request.Files) 
      { 
       var file = context.Request.Files[s]; 
       var fileName = file.FileName; 
       var fileExtension = file.ContentType; 

       if (string.IsNullOrEmpty(fileName)) continue; 
       var pathToSave_100 = HttpContext.Current.Server.MapPath(tempPath) + "\\" + fileName; 
       file.SaveAs(pathToSave_100); 

      } 

      context.Response.StatusCode = (int) HttpStatusCode.OK; 
      context.Response.Write("{\"success\":true}"); 

     } 

     catch (Exception ex) 
     { 
      context.Response.Write("Error: " + ex.Message); 
     } 
    } 

を問題には例の.ashxタイプハンドラはFineUploader用のGitHubリポジトリに存在しないということである:https://github.com/FineUploader/server-examples

私はしたいと思います誰かがより包括的なものを持っているかどうかを知る?私は、IEに対応し、適切なエラーメッセージをクライアントに返すことに懸念しています。

+0

.NETに精通していますか?その場合、http://docs.fineuploader.com/branch/master/endpoint_handlers/traditional.htmlにあるドキュメントは、リクエストハンドラを構築する上で参考になるはずです。または、[PHP](https://github.com/FineUploader/php-traditional-server)、[Java](http://docs.fineuploader.com/branch/master/endpoint_handlers/traditional .html)、または[Node.JS](https://github.com/FineUploader/server-examples/tree/master/nodejs)エンドポイントハンドラを使用することができます。しかし、Stack Overflowは誰かがあなたのためにコードを投稿する場所ではありません。 –

+0

... .NETハンドラを記述してここに投稿しようとすると、.NETとFine Uploaderに詳しい他の人はあなたが特定した問題に対処するのに役立ちます。別のオプションは、.NETエンドポイントハンドラを作成し、[Fine Uploaderのserver-examples repo](https://github.com/FineUploader/server-examples)に対してプルリクエストを発行することです。メンテナはバグを解決するのに役立ちますあなたの実装で。 –

+0

ありがとうRay。私は少しあなたのコメントで混乱しています。私は.NETに精通していますし、私のハンドラコードを投稿しましたか?あなたはそれを見ることができない?しかし、ヒントのおかげで。 –

答えて

0

サーバ側(非MVC)の.ashxハンドラの例については、私の投稿をご覧ください。 IEの場合

How to use Fine Uploader server-side in a non-MVC ASP.NET application

あなたは異なったファイル名を処理する必要があります。下記のコードスニペットを参照してください。

HttpPostedFile uploadedfile = context.Request.Files[0]; 
string[] paths = uploadedfile.FileName.Split('\\'); // needed for IE browser 
filename = paths[paths.Length - 1]; 

これが役に立ちます。

関連する問題