Bagaimana cara mendapatkan URL gambar lalu menuliskannya ke disk?

pemrograman

[ad_1]

Saya telah mencoba untuk mendapatkan gambar dari url kemudian menulis gambar ke disk tetapi tidak berhasil.
Adakah yang bisa membantu dengan ini?

Contoh URLnya adalah:
https://static.tvmaze.com/uploads/images/medium_portrait/244/610854.jpg

Kode saat ini adalah:

try
			{
				using var client = new HttpClient();
				var getStream = client.GetStreamAsync(webURL);
				using var fileStream = new FileStream(imagePath,FileMode.Create,FileAccess.Write);
				return true;
			}

Itu selalu menulis gambar jpg kosong.
Namun, ketika saya menjalankan URL secara langsung, itu menunjukkan gambarnya.

Apa yang saya coba:

Saya telah mencoba menggunakan pengambilan seperti yang saya lakukan untuk data Json. Tapi itu tidak berhasil.

Solusi 1

Inilah cara saya melakukannya:

WebClient wc = new WebClient();
outPath = Path.Combine(KnownFolders.Downloads.Path, $"{imageFileName}.{imageFileExtension}");
wc.DownloadFile(imageUrl, outPath);

Solusi 2

Hanya sekedar meludah, tapi hal seperti ini seharusnya bisa terjadi.

C#
private HttpClient httpClient;
public async Task DownloadImageAndSaveAsync(string sourceFile, string outputFolder, string outputFileName)
{
  try
  {
    using Stream fileStream = await httpClient.GetStreamAsync(fileUrl);
    Directory.CreateDirectory(outputFolder);
    string path = Path.Combine(outputFolder, outputFileName);
    using FileStream outputFileStream = new FileStream(path, FileMode.CreateNew);
    await fileStream.CopyToAsync(outputFileStream);
  }
  catch (Exception ex)
  {
    // If you can do some exception handling, do it here...
  }
}

[ad_2]

コメント

タイトルとURLをコピーしました