2009-08-20 5 views
1

에 대한 크기가 조정 된 이미지 스트림으로 출력 link text에서이 코드 블록을 얻었으며 스트림을 사용해야하는 AJAX 업 로더와 함께 사용하기 위해 약간 수정했습니다. 업로드 된 항목을 첨부물 디스플레이에 추가하기위한;ASP.NET에서 이미지 크기 조정 -

이 코드 블록에서 호출되며,

private void ItemPicture_FileUploaded(object sender, UploaderEventArgs args) 
{ 
    if (GetVisibleItemCount() >= 5) 
     return; 

    using (System.IO.Stream stream = args.OpenStream()) 
    { 
     ImageResize ir = new ImageResize(); 
     // This returns a 0 byte stream 
     ItemPictureAttachments.Upload(args.FileSize, args.FileName, ir.ResizeFromStream(640, stream)); 
     // This works fine 
     // ItemPictureAttachments.Items.Add(args.FileSize, args.FileName, stream); 
    } 
} 

스트림을 다시 호출하는 곳으로 되 돌리는 데 잘못 걸립니까? 감사!

+0

[오픈 소스 라이브러리] (http://imageresizing.net)를 사용하여 더 나은 이미지 품질을 얻고 [모든 경우를 피하십시오.] (http://nathanaeljones.com/163/20-image -resizing-pitfalls /)? 모든 코드를'ImageBuilder.Current.Build (httpPostedFile, "file.jpg", 새로운 Resizeettings ("width = value & height = value"));로 대체 할 수 있습니다. –

답변

0

코드에 따르면 모든 것이 정상적으로 보입니다. 중단 점을

Bitmap bmpResized = new Bitmap(imgInput, intNewWidth, intNewHeight); 

에 입력하고 imgInput이 비어 있지 않은지 검사하십시오. 또는 아마도 ImageRawFormat에 잘못된 것이 있습니다.

0

일반 ASP.NET 파일 컨트롤의 PostedFile.Inputstream 속성을 사용하여 ResizeFromStream 메서드를 테스트했는데 정상적으로 작동했습니다. 아마도 문제는 파일의 스트림 (args.OpenStream())을 검색하는 데 사용중인 구성 요소와 관련이 있습니까?

+0

그래, 그냥 일반 업로드를 사용합니다. 고마워요! :) –