كيف يمكنني الحصول على عنوان URL للصورة ثم كتابته على القرص؟

[ad_1]

لقد كنت أحاول الحصول على الصورة من عنوان url ثم كتابة الصورة على القرص دون نجاح.
يمكن لأي شخص أن تساعد في ذلك؟

مثال عنوان URL هو:
https://static.tvmaze.com/uploads/images/medium_portrait/244/610854.jpg

الكود الحالي هو:

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

يكتب دائمًا صورة jpg فارغة.
ومع ذلك، عندما أقوم بتنفيذ عنوان URL مباشرةً، تظهر الصورة.

ما حاولت:

لقد حاولت استخدام عملية استرجاع كما أفعل مع بيانات Json. لكن ذلك لا يفيد.

الحل 1

وإليك كيف أفعل ذلك:

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

الحل 2

مجرد بصق، ولكن شيء من هذا القبيل ينبغي أن يكون ممكنا.

ج #
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をコピーしました