一度に 1000 ~ 1500 枚の画像をサーバーにアップロードする必要があります。コードは次のとおりです。
public void add_data()
{
DataSet ds = new DataSet();
ds = get_Data();
int p = 0;
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
int cnt = ds.Tables[0].Rows.Count;
while (cnt > 0)
{
string url = Convert.ToString(ds.Tables[0].Rows[p]["image_name"]);
string imagename = url.Substring(url.LastIndexOf('/') + 1);
string file_name = imagename;
save_file_from_url(file_name, url);
p++;
cnt = cnt - 1;
}
}
}
}
public void save_file_from_url(string file_name, string url)
{
if (!File.Exists(file_name))
{
try
{
byte[] imgcontent;
//Convert live images into byte array to pass it for ftp server
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
using (BinaryReader br = new BinaryReader(stream))
{
imgcontent = br.ReadBytes(500000);
br.Close();
}
response.Close();
string CompleteDPath = "www.xyz.com";
string UName = "abc";
string PWD = "pwd";
WebRequest reqObj = WebRequest.Create(CompleteDPath + file_name);
reqObj.Method = WebRequestMethods.Ftp.UploadFile;
reqObj.Credentials = new NetworkCredential(UName, PWD);
reqObj.GetRequestStream().Write(imgcontent, 0, imgcontent.Length);
reqObj = null;
}
catch (Exception ex)
{
lblmessage.ForeColor = System.Drawing.Color.Red;
lblmessage.Text = ex.Message;
}
}
}
しかし、次のエラーが発生します
次のエラーが発生しました:
Read Timeout
システムは以下を返しました:
[No Error]
ネットワークからのデータの読み取りを待機中にタイムアウトが発生しました。ネットワークまたはサーバーがダウンしているか、混雑している可能性があります。リクエストを再試行してください。
キャッシュ管理者はウェブマスターです。
何を使えばいいですか?助けてください!