-1

現在、私は次のコードを使用しています。ファイルをアップロードするためのより良い(高速を意味する)方法はありますか。ここに私の完全なコードがあります。ファイルのアップロードごとに呼び出されます。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("request_uri_string");
FileStream fileStream = new FileStream("path_to_my_file",
                                FileMode.Open, FileAccess.Read); 
Stream requestStream = request.GetRequestStream(); 
byte[] buffer = new Byte[checked((uint)Math.Min(4096,
                            (int)fileStream.Length))];   
int bytesRead = 1;
while (bytesRead != 0)
{
    bytesRead = fileStream.Read(buffer, 0, buffer.Length);
    if (bytesRead > 0)
    {
        requestStream.Write(buffer, 0, bytesRead);
    }
} 
requestStream.Close();
fileStream.Close();
String responseFromServer = null;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (((HttpWebResponse)response).StatusDescription.Contains("OK"))
{
   Encoding encode = System.Text.Encoding.GetEncoding(((HttpWebResponse)response).CharacterSet);
   Stream dataStream = response.GetResponseStream();
   StreamReader reader = new StreamReader(dataStream, encode);
   responseFromServer = reader.ReadToEnd();
   reader.Close();
   dataStream.Close();
}
response.Close();
4

1 に答える 1

4

おそらく速くはありませんが、簡単です:

WebClient client = new WebClient();
//client.Credentials = new NetworkCredential("username", "password");
client.UploadFile(uriString,fileName);
于 2013-02-21T13:38:21.797 に答える