2013-01-01 9 views
6

मैं वर्तमान में asp.net mvc 4 का उपयोग करता हूं, और छवियों को अपलोड करने के लिए jquery-file-upload का उपयोग करता हूं, अगर मैं इसे प्रारंभ करता हूं:jpery-file-upload अनुरोध के साथ asp.net mvc 4 अनुरोध। फ़ाइल। हमेशा 0

 $('#fileupload').fileupload(); 

     $('#fileupload').fileupload('option', { 
      //url: '/Admin/News/Create', 
      maxFileSize: 500000000, 
      acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, 
      maxNumberOfFiles: 1, 
      resizeMaxWidth: 1920, 
      resizeMaxHeight: 1200, 
     }); 

जब कोई छवि फ़ाइल का चयन करें, तो छवि borwser में पूर्वावलोकन कर सकती है, लेकिन एमवीसी एक्शन अनुरोध में। Files.Count 0 है, जिसका अर्थ है कि कोई फ़ाइल अपलोड नहीं की गई है। और अगर मैं इस तरह से प्रारंभ:

 //$('#fileupload').fileupload(); 

     $('#fileupload').fileupload('option', { 
      //url: '/Admin/News/Create', 
      maxFileSize: 500000000, 
      acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, 
      maxNumberOfFiles: 1, 
      resizeMaxWidth: 1920, 
      resizeMaxHeight: 1200, 
     }); 

मैं छवि पूर्वावलोकन नहीं कर सकते, लेकिन MVC कार्रवाई फ़ाइल मिलता है, किसी को पता है क्यों? नियंत्रक के लिए पोस्ट कोड:

[HttpPost] 
    [ValidateInput(false)] 
    public ActionResult Create(NewsViewModel model, FormCollection form) 
    { 
     if (ModelState.IsValid) 
     { 
      //.... 

      // upload image 
      foreach (string file in Request.Files) 
      { 
       HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase; 
       if (hpf.ContentLength == 0) 
        continue; 
       string path = Path.Combine(Server.MapPath("~/Uploads/News/"),GUID.NewGuid()+ Path.GetExtension(hpf.FileName)); 
       hpf.SaveAs(path); 

       data.ImagePath = path; 
       _iNewsService.UpdateNews(data); 
      } 
     }   
    } 
+0

लाइन 'url:'/admin/news/create 'क्यों है, टिप्पणी की गई? – Omar

+0

coz मैं नहीं चाहता कि मैं ऑटो अपलोड चाहता हूं, और मैं दृढ़ता से टाइप किए गए दृश्य का उपयोग कर रहा हूं, इस फॉर्म में यह क्रिया है –

+0

@ बेहेनाम एस्मेलि कृपया –

उत्तर

0

मैं, एक ही समस्या थी पालन करते हुए उसे हल:

[HttpPost] 
    [ValidateInput(false)] 
    public ActionResult Create(NewsViewModel model, FormCollection form) 
    {     
      var length = Request.ContentLength; 
      var bytes = new byte[length]; 
      Request.InputStream.Read(bytes, 0, length); 

      //or for creating image from stream 

      Bitmap bmp = new Bitmap(Bitmap.FromStream(InputStream)); 
      bmp.Save("some path"); 

    } 

आशा है कि यह मदद कर सकता है।

+0

बिटमैप बीएमपी = नया बिटमैप (बिटमैप.फ्रेमस्ट्रीम (इनपुटस्ट्रीम)) प्रश्न देखें; मैंने बिटमैप के बजाए छवि का उपयोग करने के कुछ अन्य तरीकों की कोशिश की है, यह लाइन हमेशा अपवाद 'पैरामीटर मान्य नहीं है' –

+0

क्या आपका मतलब है अनुरोध। इनपुटस्ट्रीम शून्य है? –

+0

बाइट्स का मान –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^