ÜYE GİRİŞİ  
Kullanıcı adı :
Parola :
 
  Üye Ol!  
 
 
ANASAYFA HABERLER ASP ASP.NET PHP C/C++ C# JAVA ARAMA İLETİŞİM

ASP.NET
  Expression Web ile Site Yapimi
  Web Server Control Yazmak - 2
  Web Server Control Yazmak - 1
  Sql Cache Dependency
  Web Kontrollerini Etkin Kullanmak
  Xslt Kullanımı
  Bir Web Sayfasının Anatomisi
  Client Script Callback
  Login Kontrollerinin Kullanımı

ASP
  ASP Nesneleri
  29 Soruda ASP
  Matematiksel Uygulamalar
  Select Case Yapısı 2
  Fonksiyon(Function) Kullanımı
  IF-ELSE...
  GET Yöntemi ile İşlemler
  Asp de Tarih ve Saat fonksiyonları
  While-wend döngüsü

C Sharp (C#)
  C#'da klasör işlemleri
  C# ile diziyi tersine çevirme
  Çok Kullanılan Kontroller-1
  C# ile Kronometre Uygulaması
  Overloaded Metotların Gücü
  C# ile XMLQuery Örneği
  Rastgele Kod Üretimi
  Kontroller ile Çalışma
  Düzenli İfadeler Nedir?

DUYURULAR

F# Microsoft dil teknolojisinin en yeni üyesi.Common Lisp-Slime-Emacs tarzında etkileşimli,kıvrak,sonuçların anında görülebildiği ve yüksek performanslı bir betik dil olarak özetleyebiliriz bu yeni dili. devamı >>


Türk Telekom'dan yapılan yazılı açıklamada, Telekomünikasyon Kurumu'nun onayladığı yeni tariflerin, internet servis sağlayıcı şirketlerin maliyetlerini önemli oranlarda düşüreceği aktarıldı. devamı >>


HtmlInputFile Kontrolü İle Sunucuya Dosya Yüklemek | Asundinay.Com
Asp.Net İçin Eklenmiş Makale
 Makale Adı  :  HtmlInputFile Kontrolü İle Sunucuya Dosya Yüklemek
 Yayın Tarihi :  12.08.2007 18:16:49 Ekleyen :  Kazım Aydın Okunma : 173

Web uygulamalarında, kullanıcıların sunucuya textbox, dropdown gibi kontrollerle bilgi gönderme ihtiyacı web programcılığını doğmasının sebebidir. Fakat bazı durumlarda bu text tabanlı bilgi yetersiz kalır ve sunucuya dosya transfer etmemiz gerektiği durumlar doğar. Mesela kullanıcı profilinin oluşturulduğu bir uygulamada kullanıcı fotoğrafının sunucuya transfer edilip saklanması, veya üyelerinin gönderdiği kaynak kodları yayınlayan bir programlama sitesinde kaynak kodların sunucuya gönderilip saklanmasını örnek olarak verebiliriz. Dosya transferini sağlamak için input HTML tagini kullanırız.

<INPUT type="file" id="fuResim">

HtmlInputFile kontrolümüzü sayfamıza ekledikten sonra runat özelliğine server değerini vererek kontrolümüzü web sunucu kontrolü haline getiririz. Aşağıda public üyelerini kısaca anlattığım basit sınıfı kullanarak sunucuya dosya transfer işlemini kolaylıkla yaparız.

FileUploadHelper Sınıfı Public üyeleri
üye Açıklama
MaxUploadSize özelliği Byte olarak, gönderilebilecek en büyük dosya boyutu.
ContentTypes Kolleksiyonu Gönderilebilecek dosya tipleri
UploadFile Metodu Gerekli kontroleri (dosya büyüklüğü, dosya içeriği gibi) yapıp, dosyayı sunucuya gönderen metod.

 

Dosya transfer işlemini yapan yardımcı sınıfımız :

using System.Collections;

namespace FileUpload
{
public class FileUploadHelper
{

public FileUploadHelper(string uploadPath, System.Web.UI.HtmlControls.HtmlInputFile htmlInputFileControl)
{
this._uploadPath = uploadPath;
this._htmlInputFileControl = htmlInputFileControl;
this._maxSize = int.MaxValue;
}

private string _uploadPath;
private System.Web.UI.HtmlControls.HtmlInputFile _htmlInputFileControl;
private int _maxSize;

private bool isFileValid()
{
int fileSize = _htmlInputFileControl.PostedFile.ContentLength;
string contentType = this._htmlInputFileControl.PostedFile.ContentType;

if(fileSize > this._maxSize || fileSize == 0) // dosya büyüklüğünü komtrol et
return false;
else if (this.ContentTypes.Count > 0)
{
// Dosya içeriğini kontrol et :
if(this.ContentTypes.Contains(contentType))
return true;
else
return false;
}
else
return true;
}

public int MaxUploadSize
{
set
{
if (value > 0)
_maxSize = value;
else
_maxSize = 0;
}

get { return this._maxSize; }
}

public ArrayList ContentTypes = new ArrayList();

public bool UploadFile()
{
if(this.isFileValid())
{
// Dosyayı verilen yere transfer et :
this._htmlInputFileControl.PostedFile.SaveAs(this._uploadPath);
return true;
}
else
{
return false;
}
}
}
}

Dosya transfer sınıfımızı aşağıdaki gibi kullanarak dosya transfer işlemimizi yaparız :

protected System.Web.UI.HtmlControls.HtmlInputFile fuResim;

string fileName = fuResim.PostedFile.FileName.Substring(fuResim.PostedFile.FileName.LastIndexOf(’\\’));
string uploadPath = Server.MapPath("resimler") + "/" + fileName;
FileUploadHelper fuHelper = new FileUploadHelper(uploadPath, fuResim);

// Resim dosyaları :
fuHelper.ContentTypes.Add("image/pjpeg");
fuHelper.ContentTypes.Add("image/jpeg");
fuHelper.ContentTypes.Add("image/gif");

// Maksimum dosya boyutu 1MB :
int maxUpload = 1024 * 1024;
fuHelper.MaxUploadSize = maxUpload;

bool isUploaded = fuHelper.UploadFile();

Uygulamada verilen örneğin kaynak kodlarına ulaşmak için tıklayın...

NOT :Dosya transferi örneğini denerken özellikle Windows XP (SP 2) ve Windows 2003 Sarver işletim sistemlerinde "Access denied - Erişim reddedildi" hatası alabilirsiniz.
Web.config dosyanıza <identity impersonate="true" /> eklemeniz ASP.NET prosesinin, sizin kullanıcı haklarınızla çalışamsını sağlayacaktır ve problemi çözecektir.

EKLEME :
Sık kullanılan dosya tipleri için kullanılabilecek ContentType’lar :
Zip için : application/x-zip-compressed
Rar için : application/octet-stream

Exe için : application/octet-stream
Msi için : application/octet-stream

text için : text/plain
word için : application/msword
excel için : application/vnd.ms-excel

pdf için : application/pdf


 

Kaynak : csharpnedir.com


 

Asp.Net İçin Eklenmiş Tüm Makaleler
Asp.Net İçin En Son Eklenen 5 Makale
 Makale Adı  :  Expression Web ile Site Yapimi
 Yayın Tarihi :  12.08.2007 19:57:26 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Web Server Control Yazmak - 2
 Yayın Tarihi :  12.08.2007 19:52:45 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Web Server Control Yazmak - 1
 Yayın Tarihi :  12.08.2007 19:48:59 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Sql Cache Dependency
 Yayın Tarihi :  12.08.2007 18:36:18 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Web Kontrollerini Etkin Kullanmak
 Yayın Tarihi :  12.08.2007 18:34:25 Ekleyen :  Kazım Aydın Makaleyi Oku  

C/C++
  C ögreniyorum -8-
  C ögreniyorum -7-
  C ögreniyorum -6-
  C ögreniyorum -5-
  C ögreniyorum -4-
  C ögreniyorum -3-
  C ögreniyorum -2-
  C ögreniyorum -1-
  İlk C++ Programımız

JAVA
  Java ile Histogram Eşitleme
  JAVA İçinde Thread Kullanımı
  Serialization İşlemleri 2
  Serialization İşlemleri
  İlk Bakışta JSP
  Servletler ile Web Sayfaları
  Java ile Grafik Çizim
  Java, MySql Bağlantısı
  JBuilder ile Database

PHP
  php dersleri -1-
  php/access ile silme işlemi
  php ile access'e bağlanma - 2
  php ile access'e bağlanma - 1
  Döngü ve Diziler - BÖLÜM 5
  Döngü ve Diziler - BÖLÜM 4
  Döngü ve Diziler - BÖLÜM 3
  Döngü ve Diziler - BÖLÜM 2
  Döngü ve Diziler - BÖLÜM 1

İSTATİSTİKLER
  Toplam ziyaret :  24725
  Toplam üye sayısı :  1081
  Asp makale sayısı :  20
  Asp.Net makale sayısı :  54
  Php makale sayısı :  26
  C/C++ makale sayısı :  51
  C# makale sayısı :  29
  Java makale sayısı :  33
  Toplam makale saıysı :  213
Copyright asundinay® 2007 Her Hakki Saklidir
Tasarim & Programlama asundinay®