2014-01-17 4 views
1

멋진 imageresizing.net 도구를 찾고 내 사이트에서 URL API를 사용하고 있습니다.WebMatrix - 이미지 업로드로 ImageResizer 사용

그러나 관리되는 API를 살펴보고 업로드 된 사진의 크기를 조정하려고합니다. 나는 WebImage 도우미를 사용하는 아주 기본적인 업로드 페이지를 구축하여 오프 시작 :

@using ImageResizer; 

@{ 
WebImage photo = null; 
var newFileName = ""; 
var imagePath = ""; 

if(IsPost){ 
    photo = WebImage.GetImageFromRequest(); 
    if(photo != null){ 
     newFileName = Guid.NewGuid().ToString() + "_" + 
      Path.GetFileName(photo.FileName); 
     imagePath = @"images\" + newFileName; 

     photo.Save(@"~\" + imagePath); 
    } 
} 
} 

내가 특정 크기/작물의 크기를 조정,이 업로드에 ImageResizing 도구를 사용하고 싶습니다. 다음은

내가 삽입해야 코드가 (내가 기존 이미지에서 실행하여이를 테스트 한, 그리고 그것을 잘 작동합니다)입니다 :

ImageResizer.ImageBuilder.Current.Build(imagePath,imagePath, 
new ResizeSettings("width=620&height=405&mode=crop")); 

어떤 생각이 집은 내가 두 가지를 병합하고, 전에 크기를 조정할 수 있습니다 나는 구하다?

+0

는 또한 여기에있는 제안을 복사 한 http://stackoverflow.com/questions/14064563/mvc3-imageresizer하지만 난 페이지를 실행할 때, 나는 소스는 문자열의 인스턴스가 될 수 있습니다 "라는 오류가 발생합니다 , VirtualFile, IVirtualBitmapFile, HttpPostedFile, HttpPostedFileBase, 비트 맵, 이미지 또는 스트림 매개 변수 이름 : source " – Gavin5511

+0

WebImage 인스턴스를 부여 했습니까? WebImage를 사용하지 마십시오. [WebImage is evil] (http://stackoverflow.com/questions/9710448/asp-net-web-pages-using-webimage-to-resize-and-save-a-photo). 여기에도 쓸모없고 무의미합니다. ImageResizer에 직접 업로드하십시오. –

답변

1

너무 가까이에! Server.MapPath는 찾고있는 누락 된 부분입니다.

@{ 
    if (IsPost) { 
     var photo = WebImage.GetImageFromRequest(); 
     if (photo != null) { 
      var filename = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo.FileName); 
      var localPath = Server.MapPath("~/") + @"images\" + filename; 
      photo.Save(localPath);   
      ImageResizer.ImageBuilder.Current.Build(localPath, localPath, new ImageResizer.ResizeSettings("width=620&height=405&mode=crop")); 
     } 
    } 
} 

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>My Site's Title</title> 
     <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    </head> 
    <body> 
     <form method="post" enctype="multipart/form-data"> 
      <input type="file" name="mahfile"> 
      <input type="submit"> 
     </form> 
    </body> 
</html> 
+0

고마워! 나 자신을 설정하자 그리고 나는 그것을 줄거야! – Gavin5511

+0

저스틴은 절대적인 대우를 받았습니다. 웹 페이지에 관한 그러한 희귀 한 지식을 가진 사람을 갖는 것은 대단한 일입니다. – Gavin5511

+0

저스틴, 한 가지 더 빠른 질문 ... 업로드시 jpg로 변환 할 수있는 방법이 있습니까? 나는 "형식 = jpg"를 사용하려했지만 업로드 된 이미지의 형식을 계속 사용합니다 (예 : png 또는 gif를 업로드하는 경우)? – Gavin5511

관련 문제