2011-09-14 25 views
3

ASP.NET MVC3で複数の画像をアップロードするためにuploadifyを使用しています。アップロードするにはurlギャラリー/アップロード/ 2を名前2のフォルダに、ギャラリー/アップロード/ 3をフォルダ3など。私は方法を知らない。これまで私は、このsampleを使用アップロードと修正されたサンプルのアップロードスクリプトを作業得るために:あなたは、私は、デフォルトとして2通りのIDを使用しています見ることができますが、私は、パラメータからそれを取得したいとMVC3アップロードする画像をフォルダにアップロード

public string Upload(HttpPostedFileBase fileData) 
     { 
      var id = 2; 
      var fotka = new Photo(); 
      fotka.GalleryId = id; 
      fotka.Description = fileData.FileName; 
      fotka.Name = fileData.FileName; 
      db.Photos.Add(fotka); 
      db.SaveChanges(); 
      var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileData.FileName); 
      var fileName = Path.GetFileName(fileData.FileName); 
      string path = Server.MapPath("~/Fotky/") + id.ToString() + "\\" + fileNameWithoutExtension; 
      // var path = Path.Combine(Server.MapPath("~/Fotky/"), galleryId.ToString(), "/", fileNameWithoutExtension); 
      using (var input = new Bitmap(fileData.InputStream)) 
      { 
       int width; 
       int height; 
       if (input.Width > input.Height) 
       { 
        width = 128; 
        height = 128 * input.Height/input.Width; 
       } 
       else 
       { 
        height = 128; 
        width = 128 * input.Width/input.Height; 
       } 
       using (var thumb = new Bitmap(width, height)) 
       using (var graphic = Graphics.FromImage(thumb)) 
       { 
        graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
        graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; 
        graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; 

        graphic.DrawImage(input, 0, 0, width, height); 
        System.IO.Directory.CreateDirectory(Server.MapPath("~/Fotky/") + id.ToString()); 
        using (var output = System.IO.File.Create(path + "_small" + Path.GetExtension(fileName))) 
        { 
         thumb.Save(output, System.Drawing.Imaging.ImageFormat.Jpeg); 
        } 
       } 
      } 
      fileData.SaveAs(path + Path.GetExtension(fileName)); 

      return "ok"; 
     } 

、それはかのうですか?そしてどうやって?ありがとうございます

回答はありませんか?私にとって本当に重要It's

答えて

4

あなたは、アクションの引数としてIDを取り、あなたのコントローラのアクションを持つことができます:

public string Upload(HttpPostedFileBase fileData, string id) 
{ 
    ... 
} 

とプラグイン構成するときに、このIDを渡す:

$("#fileuploader").fileUpload({ 
    'uploader': '@Url.Content("~/Scripts/uploader.swf")', 
    'cancelImg': '@Url.Content("~/Images/cancel.png")', 
    'buttonText': 'Select Image', 
    'script': '@Url.Action("Upload", "Home", new { id = "2" })', 
    'folder': '@Url.Content("~/uploads")', 
    'fileDesc': 'Image Files', 
    'fileExt': '*.jpg;*.jpeg;*.gif;*.png', 
    'multi': true, 
    'auto': true 
}); 
+0

おかげで、Iスクリプトを編集するにはどうすればよいかわかりませんでした。 –

+0

ありがとうございます。それは素晴らしい解決策です。私は過去にかなり長い間騒ぎ続けてきました。これで、Uploadifyを最大限に活用することができます。ありがとうございました! – Blaise

関連する問題