Estoy usando un AsyncFileUpload (AJAX Toolkit) para cargar imágenes. Tengo un botón que maneja el cambio de tamaño de la imagen. Esto ha funcionado bien durante algún tiempo, pero ya no ...Image.FromStream (File.InputStream) Falló. (El parámetro no es válido.) (AsyncFileUpload))
protected void BtnUploadImage_Click(object sender, EventArgs e)
{
var imageFileNameRegEx = new Regex(@"(.*?)\.(jpg|jpeg|png|gif)$",
RegexOptions.IgnoreCase);
if (!AsyncFileUpload1.HasFile ||
!imageFileNameRegEx.IsMatch(AsyncFileUpload1.FileName))
{
AsyncFileUpload1.FailedValidation = true;
ErrorLabel.Visible = true;
return;
}
ErrorLabel.Visible = false;
var file = AsyncFileUpload1.PostedFile.InputStream;
var img = Image.FromStream(file, false, false);
...
}
Otra cosa que me parece raro: Si trato de una imagen que es menor que 80kb funciona ..!
Hemos intentado reiniciar el servidor, pero sin cambios. El mismo código funciona bien en mi máquina. (Oí eso antes ?? :))
También traté de guardar el archivo en el servidor, luego para obtener el archivo a través de Image.FromFile(), pero luego aparece "No se puede acceder a un archivo cerrado".
¿Cómo resolver esto?
hay código que falta en su fragmento. –
@Joseph, creo que solo agregar la llave de finalización en la función es incorrecta, no puede detenerse allí, la variable 'img' no se usa. –
No creo que el resto sea relevante, lo que sucede después de Image.FromStream() no se ejecuta de todos modos. –