[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]
コメント