2012-09-06 5 views
0

fileupload 컨트롤을 사용하여 폴더에 사용자 업로드 이미지의 크기를 조정하고 저장하려고합니다. 하지만 bmp.save (..)에서이 예외가 발생합니다.GDI +에서 "일반"오류가 발생했습니다.

예외 유형 : System.Runtime.InteropServices.ExternalException

오류 메시지 : 일반 오류가 GDI +에서 발생했습니다.

스택 추적 : 여기

내 코드입니다 btnUpload_Click (개체 보낸 사람, EventArgs입니다 전자)에서 System.Drawing.Image.Save (문자열 파일 이름, ImageCodecInfo 인코더, EncoderParameters encoderParams) 에서

If fileUpload1.HasFile Then 
     Dim flStream = fileUpload1.FileContent 
     Dim imgMemStream = New MemoryStream 

     imgMemStream.SetLength(flStream.Length) 
     flStream.Read(imgMemStream.GetBuffer, 0, flStream.Length) 

     imgMemStream.Flush() 
     flStream.Close() 

     Dim imgStream = System.Drawing.Image.FromStream(imgMemStream) 
     Dim bmp = New Bitmap(200, 200) 
     Dim gr = Graphics.FromImage(bmp) 
     gr.DrawImage(imgStream, 0, 0, 200, 200) 

     If System.IO.Directory.Exists(Server.MapPath("ProfilePics\")) Then 
      bmp.Save(Server.MapPath("ProfilePics\" & employeeId & ".jpg"), Drawing.Imaging.ImageFormat.Jpeg) 
     Else 
      Throw New Exception("Path not found") 
     End If 

     imgStream.Dispose() 
     bmp.Dispose() 
     gr.Dispose() 

     Response.Redirect(Me.Request.Url.AbsolutePath) 
End If 

또한 iis_wpg에 해당 폴더에 대한 모든 권한을 부여하려고했습니다.

도움을 주시면 대단히 감사하겠습니다.

답변

0

내게 권한 문제가있는 것처럼 들리지만 (조사를 시작한 것처럼 보입니다) NETWORK SERVICE에 해당 폴더에 쓸 수있는 권한을 부여하려고 시도 했습니까?

그래도 해결되지 않으면 해당 폴더에 텍스트 파일을 작성하여 사용 권한인지 확인한 다음 해당 방법으로 더 나은 오류가 발생해야합니다. IIS에서 파일 시스템이나 IIS를 통해 쓰기 권한을 설정해야하는 경우가 있지만 구식 정보 일 수 있습니다.

관련 문제