Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DownloadFile() [2/2]

void System.Net.WebClient.DownloadFile ( Uri address,
string fileName )
inline

Definition at line 519 of file WebClient.cs.

520 {
521 ArgumentNullException.ThrowIfNull(address, "address");
522 ArgumentNullException.ThrowIfNull(fileName, "fileName");
523 WebRequest request = null;
524 FileStream fileStream = null;
525 bool flag = false;
527 try
528 {
529 fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
530 request = (_webRequest = GetWebRequest(GetUri(address)));
531 DownloadBits(request, fileStream);
532 flag = true;
533 }
534 catch (Exception ex) when (!(ex is OutOfMemoryException))
535 {
536 AbortRequest(request);
537 if (ex is WebException || ex is SecurityException)
538 {
539 throw;
540 }
541 throw new WebException(System.SR.net_webclient, ex);
542 }
543 finally
544 {
545 if (fileStream != null)
546 {
547 fileStream.Close();
548 if (!flag)
549 {
550 File.Delete(fileName);
551 }
552 }
553 EndOperation();
554 }
555 }
static void Delete(string path)
Definition File.cs:88
virtual void Close()
Definition Stream.cs:644
Uri GetUri(string address)
Definition WebClient.cs:990
byte[] DownloadBits(WebRequest request, Stream writeStream)
virtual WebRequest GetWebRequest(Uri address)
Definition WebClient.cs:428
WebRequest _webRequest
Definition WebClient.cs:76
static void AbortRequest(WebRequest request)
Definition WebClient.cs:929
static string net_webclient
Definition SR.cs:14
Definition SR.cs:7

References System.Net.WebClient._webRequest, System.Net.WebClient.AbortRequest(), System.IO.Stream.Close(), System.IO.File.Delete(), System.Net.WebClient.DownloadBits(), System.Net.WebClient.EndOperation(), System.Net.WebClient.GetUri(), System.Net.WebClient.GetWebRequest(), System.SR.net_webclient, System.Net.WebClient.StartOperation(), and System.ArgumentNullException.ThrowIfNull().