Używam AsyncFileUpload (AJAX Toolkit) do przesyłania obrazów. Mam przycisk, który obsługuje zmianę rozmiaru obrazu. Ten pracował dobrze przez jakiś czas, ale już nie ...Image.FromStream (PostedFile.InputStream) Nie działa. (Parametr jest nieprawidłowy.) (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);
...
}
Inną rzeczą, która uważam dziwne: Gdy próbuję obrazu, która jest mniejsza niż 80kb to działa ..!
Próbowaliśmy zrestartować serwer, ale bez zmian. Ten sam kod działa poprawnie na moim komputerze. (słyszałem, że przed? :))
Próbowałem również zapisać plik na serwerze, a następnie, aby uzyskać plik koryta Image.FromFile(), ale potem dostaję "Nie można uzyskać dostępu do zamkniętego pliku."
Jak rozwiązać ten problem?
Nie brakuje kod w swoim fragmencie. –
@Joseph, myślę, że samo dodanie końcowego nawiasu przy funkcji jest błędne, nie może po prostu się tam zatrzymać, zmienna 'img' nie jest używana. –
Nie sądziłem, że reszta była istotna, co dzieje się po obrazie.FromStream() i tak nie działa. –