Bagaimana cara mendapatkan URL gambar lalu menuliskannya ke disk?

pemrograman


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...
  }
}

コメント

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