2013-06-15 5 views
8

मेरे पास एक एएसपी.नेट एमवीसी वेबसाइट है। मुझे एक ऐसे पृष्ठ की आवश्यकता है जहां उपयोगकर्ता को छवि फ़ाइल सहित कई फ़ील्ड दर्ज करना होगा।फ़ाइल अन्य क्षेत्रों के साथ फॉर्म के भाग के रूप में अपलोड करें

मुझे एमवीसी का उपयोग कर फ़ाइल अपलोड करने के लिए कई सारे संदर्भ मिल सकते हैं। लेकिन वे फ़ाइल को अन्य फ़ील्ड के साथ फ़ॉर्म के हिस्से के रूप में अपलोड नहीं करते हैं।

आदर्श रूप से, फ़ील्ड और फ़ाइल एक नियंत्रक को भेजी जाएगी। कोई सुझाव?

+0

आप एक ajax कॉल का उपयोग करके या सीधे प्रपत्र सबमिट कर रहे हैं? – Mate

+0

नियमित पृष्ठ पोस्ट। –

उत्तर

5

आप FineUploader का उपयोग कर सकते हैं। See Demo

Valums Uploader। यह शुद्ध जावास्क्रिप्ट का उपयोग करता है (iframe का उपयोग कर अपलोड फ़ाइल)

आपको क्लाइंट प्लगइन का उपयोग करने की आवश्यकता हो सकती है। Plupload एक संभावित विकल्प है। और here's an example कैसे आप इसे अपने एमवीसी अनुप्रयोग में एकीकृत कर सकते हैं। एक और लोकप्रिय प्लगइन जो इस कार्यक्षमता का समर्थन करता है Uploadify है।

Asp.net mvc 3 file uploads using the fileapi

देखें प्रगति डेमो 1, 2 पर

रेफरी: http://forums.asp.net/t/1897410.aspx/1?MVC4+File+Upload

9

आप तीसरे पक्ष के पुस्तकालयों का उपयोग नहीं करते हैं, तो यह प्रयास करें:

मॉडल

public class Strategy 
    { 
     public int ID { get; set; } 
     public string Name { get; set; } 
     public byte[] File { get; set; } 

    } 
,210

देखें

@model TEST.Model.Strategy 
@using (Html.BeginForm("Add", "Strategy", FormMethod.Post, new { @id = "frmStrategy", enctype = "multipart/form-data" })) 
     { 
      @Html.TextBoxFor(x => x.Name) 
      <input id="templateFile" name="templateFile" type="file" /> 
      @Html.HiddenFor(x => x.ID) 

     } 

नियंत्रक

[HttpPost] 
     public ActionResult Add(Strategy model, HttpPostedFileBase templateFile) 
     { 


      if (templateFile != null && templateFile.ContentLength > 0) 
      { 
       try 
       { 
        var fname = Path.GetFileName(templateFile.FileName); 
        using (MemoryStream ms = new MemoryStream()) 
        { 
         templateFile.InputStream.CopyTo(ms); 
         byte[] array = ms.GetBuffer(); 
         model.File = array; 
        } 
        ... 
+0

मुझे लगता है कि रणनीति मॉडल में फ़ाइल संपत्ति आवश्यक नहीं है। – Romias

+2

यह सही है, आवश्यक या आवश्यक नहीं है। यह सिर्फ एक उदाहरण है ... उदाहरण के लिए यदि आप किसी तालिका में फ़ाइल को जारी रखते हैं, और कुछ ORM का उपयोग करें ... – Mate

+1

+1 धन्यवाद दोस्त! – FreeAsInBeer

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