form altındaki Beğen sahipMVC
public class SendViewModel
{
//I have about 20 filed's of other types here
.....
//Image file
public HttpPostedFileBase Image { get; set; }
}
Benim JQuery ajax:
:$("#send_ticket").click(function() {
var form = $("#form_send_ticket");
$.ajax({
type: "POST",
url: '@Url.Action("Send", "Ticket")',
data: form.serialize(),
contentType: "multipart/form-data",
success: function (data) {
//do something
},
error: function (e) {
//do something
}
});
})
Benim Kontrolörü Eylem böyledir
Bu durumdan önce karşılaştığım, diğer projelerde, çoğunlukla resim dosyası da dahil olmak üzere yaklaşık 3 ila 8 alanım vardı ve bunları birer birer FormData
'a ekledim (bu Resim dosyası yüzünden) onları ajax isteği ile ve benim için önemli değildi, ama şimdi yaklaşık 22 alanın var ve bunu yapmak için biraz var. Bu formu serileştirmeye karar verdim ve ajax isteğiyle yolladım. ViewModel'de HttpPostedFileBase
türünü yapıyorum. data: form.serialize()
kullanarak bu alanı nasıl göndereceğiniz hakkında bir fikriniz var mı? temizleyeyim bir noktada edelim:
yardımına :)
Güncelleme takdir
1-ajax yoluyla göndermek FormData
istemiyorum ve ben form.serialize()
kullanarak göndermek istiyorum.
2-Hazır dosya eklentileri kullanmak istemiyorum.
3 -Bir tek bir resim alanı anlamına gelmez, yani 23 alanın tamamını oluşturur. Eğer FormData
kullanacağız veya dahili olarak iFrame
uygulamaları kullanan bazı eklentiler sürece
Olası çoğaltılabilir [Nasıl zaman uyumsuz olarak dosya yükleyebilirim?] (Http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously) – pwas
Lütfen tüm soruyu okuyun. sağlanan, ajax ile göndermek için FormData kullandım ve form.serialize() kullanarak göndermek istiyorum, onlar için bazı hazır eklentileri dosyaları önerdi ve yapmak istiyorum, Onlar sadece bir görüntü alanı işaret ve tüm formu demek. –
Bkz. [Bu yanıt] (http://stackoverflow.com/questions/29293637/how-to-append-whole-set-of-model-to-formdata-and-obtain-it-in-mvc/29293681#29293681) - basitçe "var formdata = new FormData ($ ('form'). get (0));' dosya formları dahil tüm formunuzu serileştirmek için - bunları tek tek eklemeniz gerekmez. –