Tôi đang sử dụng AsyncFileUpload (AJAX Toolkit) để tải lên hình ảnh. Tôi có một Nút xử lý thay đổi kích thước hình ảnh. này đã làm việc tốt cho một thời gian, nhưng không được nữa ...Image.FromStream (PostedFile.InputStream) Không. (Tham số không hợp lệ.) (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);
...
}
Một điều mà tôi thấy lạ: Nếu tôi thử một hình ảnh mà là nhỏ hơn 80kb nó hoạt động ..!
Chúng tôi đã cố gắng khởi động lại máy chủ nhưng không thay đổi. Cùng một mã chạy tốt trên máy tính của tôi. (nghe nói rằng trước đây :))
Tôi cũng đã cố gắng lưu tệp trên máy chủ, sau đó lấy tệp Image.FromFile(), nhưng sau đó tôi nhận được "Không thể truy cập tệp đã đóng".
Cách giải quyết vấn đề này?
Có thiếu mã trong đoạn mã của bạn. –
@ Joseph, tôi nghĩ rằng chỉ cần thêm dấu ngoặc kết thúc ở hàm là sai, nó không thể dừng lại ở đó, biến 'img' không được sử dụng. –
Không nghĩ rằng phần còn lại là có liên quan, những gì xảy ra sau khi hình ảnh.TừStream() không thực hiện anyway. –