Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Mustafa Erhan Ersoy
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
14
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
dosyayi
dropdown
filesize
islemini
kaynak
kullanarak
kullanici
kullanicilarin
public
sinifi
sunucuya
textbox
transfer
verilen
windows
ASP.NET
Mustafa Erhan Ersoy
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
ASP.NET
Yayınlanma Tarihi
:
13.1.2005
Okunma Sayısı
:
28385
Yorum Sayısı
:
1
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
23.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
23.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
23.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
23.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
ASP.NET
/
HtmlInputFile Kontrolü İle Sunucuya Dosya Yüklemek
HtmlInputFile Kontrolü İle Sunucuya Dosya Yüklemek
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
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 ContentTypelar :
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
Makale:
HtmlInputFile Kontrolü İle Sunucuya Dosya Yüklemek ASP.NET Mustafa Erhan Ersoy
Yazılan Yorumlar
Yorum Yaz
ŞUB
8
2006
Evren TURKOGLU
/
üye hakkında
Merhaba, Makale çok açık ve adım adım anlatılmış. Çok Teşekkürler...
Sayfalar :
1
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl