0

FTPWebRequest ファイルのアップロードの進行状況をブラウザーの進行状況バーに表示するにはどうすればよいですか?

私の c# MVC 4 アプリケーションでは、ここにある Blueimp ファイル アップロードの例の .Net 例を実装しました。

http://www.webtrendset.com/2011/06/22/complete-code-example-for-using-blueimp-jquery-file-upload-control-in-asp-net/

このアップロードでは、jquery.fileupload-ui.js プラグインを使用しています。

FTPWebRequest を使用してファイルを FTP サーバーにアップロードするように、MVC アプリの handler.ashx を変更しました。

ファイルのアップロードを開始すると進行状況バーは機能しますが、進行状況インジケーターに進行状況が正確に表示されません

ブラウザーの進行状況バーは、常に、FTPWebRequest が開始される前に進行状況がブラウザーの方法で完了したことを示します。

私のハンドラーは次のようになります

    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/plain"; //"application/json";

                HttpContext postedContext = HttpContext.Current;


                var r = new System.Collections.Generic.List<ViewDataUploadFilesResult>();

                var js = new JavaScriptSerializer();

                foreach (string file in context.Request.Files)
                {
                    var hpf = context.Request.Files[file] as HttpPostedFile;

uplaodFiles(hpf,pid, id);

   private UploadState uplaodFiles(HttpPostedFile file,Guid pid, string id)
        {


                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);

                request.Method = WebRequestMethods.Ftp.UploadFile;

                request.Timeout = 3600000;

                request.Credentials = new NetworkCredential(ftpuser, ftpassword);

                byte[] fileData = null;

                using (Stream input = file.InputStream)
                {
                    using (Stream output = request.GetRequestStream())
                    {
                        input.CopyTo(output);
                    }
                }

上記のコード例の一部を意図的に省略しています

4

2 に答える 2