Вот что я пытаюсь сделать: взять папку, полную изображений, выполнить оптимизацию и сохранить их в одном файле.
Я получаю сообщение об ошибке:
System.ArgumentException
Message = Parameter is not valid.
Из строки:
using (var bitmap = new Bitmap(image))
Я думаю, что это как-то связано с открытием файла и блокированием доступа, но я не уверен.Я точно знаю, что путь к файлу, который я использую, правильный, и это папка, заполненная изображениями.Кто-нибудь может мне помочь?
string[] folder = Directory.GetFiles(GetSourceDirectory());
Parallel.ForEach(folder, (file) =>
{
using (var fileStream = File.Open(file, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
var image = fileStream.Name;
Console.WriteLine(image);
Console.ReadLine();
using (var bitmap = new Bitmap(image))
{
using (var quantized = quantizer.QuantizeImage(bitmap, 1, 1))
{
var blob = container.GetBlockBlobReference(fileStream.Name);
try
{
quantized.Save(fileStream, ImageFormat.Png);
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
Console.WriteLine();
throw;
}
blob.UploadFromStreamAsync(fileStream).Wait();
}
}
}
});