Turning gears are the logo of co-scripts

Merhaba,

Hepimizin başına en az bir kez dosya yükleme (upload) hikayesi gelmiştir. Onlarca çözümü olmasına rağmen eminim halâ 4/4 bir yol bulamamışızdır. Ben henüz öğrenmeye başladığım ASP.Net içerisinde basit ve sağlıklı bir çözüm olduğu hayaliyle yaşıyorum. Şimdilik Persist'in upload komponentini kullanıyorum ve memnunum.

Neyse konumuz bazı durumlarda form içinden dosya yollayabilirken bazı durumlarda aynı form içerisinden sadece metin verisi yollamak isteyebileceğimiz. Örneğin e-posta gönderirken önce sunucuya metin ve diğer tip veriler gider ve sunucuda onları alır smtp aracılığıyla göndeririz. Ama her zaman e-postamıza bir dosya eklemeyiz. Benzer bir durum bizim başımıza da gelirse tek yapmamız gereken formumuzun enctype'ını değiştirerek target olarak başka bir sayfa vermek. Böylece dosya yüklenmediğinde daha temiz işlemler yapılarak karışıklık engellenebilir. Aşağıda örnek kodları veriyorum. Kodlarda formun target özelliğini değiştirmedim ama değiştirmek istenirse yorum satırlarına bakılabilir. Form içerik tiplerine buradan bakabilirsiniz. Ayrıca enctype için detaylı bilgi burada bulunabilir. Ayrıca multipart data tipleriyle ilgili olarak düzenlemelere şuradan ulaşabilirsiniz.

 

	function verigonder(netip)
	{
	var Frm = document.getElementById('bizimForm');
	var eskiDegeri = Frm.enctype.toString();
	if(!netip){Frm.enctype='application/x-www-form-urlencoded';}else{Frm.enctype='multipart/form-data';}
	alert('Formun eski encttype degeri:' + eskiDegeri + ' iken şimdiki değeri: '+ Frm.enctype +' oldu.');
	// Frm.action = 'yeniHedefAdres.asp';
	// Frm.encoding = 'text/plain;
	// Frm.submit();
	}

Örnekte görülen fonksiyon modifiye edilerek dosya kısmı boş ise gereken değişiklik yapılacak şekilde tek düğmeye de atama yapılabilir. Aşağıda formun iki ayrı submit olayında kullanılabilecek iki düğme var.


Sayfadaki formumuzun idsinin bizimForm olduğunu söylemeye gerek yok sanırım. Formların encoding özelliği text/plain yapılırsa url encoded olurlar. Encoding özelliğini kullanmayabilirsiniz. Kolaylıklar diliyorum. 

co-scripts tag image form enctypeenctypesmultipartmultipart form dataform.enctype ozelligiform.enctype propertyurl encoded
ID:141 | Okunma:2120