Я пытаюсь просто создать файл .png из строки base64. < /p>
Изначально я использовал: < /p>
System.IO.File.WriteAllBytes("Target\Path\Image.PNG", Convert.FromBase64String(imgData));
< /code>
И это работало локально отлично. Но после развертывания на удаленном сервере я заметил, что полученный файл .png отсутствует. Код: < /p>
System.IO.FileStream textfileStream = new FileStream(@"Target\Path\test.txt", FileMode.OpenOrCreate, FileAccess.Write);
System.IO.StreamWriter textfileWriter = new StreamWriter(textfileStream);
textfileWriter.WriteLine(DateTime.Now.ToString("[yyyy-MM-dd hh:mm]"));
textfileWriter.WriteLine("This worked!?");
/* fullSigFilename = ~\wwwroot\application\wwwroot\signatures\appsig.png */
textfileWriter.WriteLine($"Path1: {fullSigFilename}");
/* fullSigFilename = ~\wwwroot\application\wwwroot\signatures\adsig.png */
textfileWriter.WriteLine($"Path2: {adFullSigFilename}");
textfileWriter.WriteLine();
textfileWriter.WriteLine($"img contents 1: {imgdata}");
textfileWriter.WriteLine($"img contents 2: {addata}");
textfileWriter.Flush();
textfileWriter.Close();
< /code>
Я думал, что это было довольно странно. Поэтому я попытался создать свои файлы .png с таким же, многословным подходом и обнаружил, что когда я называл либо, который также вызовал.var sigPNGFS = System.IO.File.Create("Target\Path\sig.PNG");
var sigPNGBW = new BinaryWriter(sigPNGFS);
sigPNGBW.Write(Convert.FromBase64String(imgdata));
sigPNGBW.Flush();
sigPNGBW.Dispose();
< /code>
Если я прокомментирую строку *.dispose (), запустите код, а затем остановлюсь пул приложений, я могу просто открыть файл в MSPaint. столкнулся с этим вопросом?>
Подробнее здесь: https://stackoverflow.com/questions/743 ... se-or-disp
.NET 6.0 FILESTREAM | Streamwriter | BinaryWriter Deleting File на .close () или .dispose () ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение