FTPWebRequest ファイルのアップロードの進行状況をブラウザーの進行状況バーに表示するにはどうすればよいですか?
私の c# MVC 4 アプリケーションでは、ここにある Blueimp ファイル アップロードの例の .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);
}
}
上記のコード例の一部を意図的に省略しています