Fırat Esmer

ANLATILAN SENİN HİKAYENDİR - Karl Marx

Internet Explorer ile FileUpload'da JPEG Sorunu

Internet Explorer 6, 7 veya 8 sürümlerinde FileUpload kontrolü ile yüklenmek istenen dosya jpeg uzantılı dosya ise dikkat etmeniz gereken noktalara değineceğim (Internet Explorer 6, 7 veya 8 diyorum çünkü 6'dan önceki sürümleri hesaba katmıyorum).

Senaryo : Bir FileUpload, bir Label ve bir Button'dan oluşan sayfamızda, FileUpload ile jpeg uzantılı dosya yüklemeye çalışacağız ve bu yüklenen dosyanın Internet Explorer 6, 7 veya 8 ile Internet Explorer 9 arasında çıkaracağı farklılığı gidereceğiz. Ayrıca yüklenmek istenen dosya türünün tarayıcı tarafından nasıl okunduğunu göreceksiniz (Label'da gösterilecek).

Bilinmesi Gerekenler :

  • Makaledeki örnek uygulama .NET Framework 4.0 (Web Application) ve Visual Studio 2010 ile hazırlanmıştır.

Neler Öğreneceksiniz :

  • Eğer FileUpload kontrolü ile jpeg uzantılı dosyaları yüklemeden önce dosyanın jpeg türü olup olmadığını kontrol edecekseniz, Internet Explorer sürüm farklılıklarında ne yapmanız gerekeceğini öğreneceksiniz.

FileUpload kontrolü ile yükleme yapılmak istenen dosyanın türünü öğrenmek için FileUpload.PostedFile.ContentType yazmamız yeterli. Ancak yüklenmek istenen dosyanın jpeg uzantılı olup olmadığını bir koşul ile kontrol ederken şunu sakın aklınızdan çıkarmayın. Internet Explorer bilmediğiniz bir şey yapıyor. O da jpeg uzantısını pjpeg olarak görmesidir. Nasıl mı? Şöyle :

if (fileUpload_jpeg.HasFile)
{
  lbl_fileContent.Text = String.Format("Upload ettiğiniz dosyanın türü : {0}", fileUpload_jpeg.PostedFile.ContentType);
  lbl_fileContent.ForeColor = Color.Green;
}

Yukarıdaki kod parçacığını Internet Explorer 9 aracılığıyla çalıştırdığımda çıkacak sonuç şöyledir.

Internet Explorer 9 ile Çıkan Sonuç

Yüklemek istediğimiz dosyanın türü image/jpeg olarak algılandı. Yani çalıştığınız yerde yetkili kişi size "sadece resim yüklenebilsin" der ve siz de önlem almak amacıyla fileUpload_jpeg.PostedFile.ContentType == "image/jpeg" koşulunu koyarsanız, Internet Explorer 6, 7 veya 8 ile hazırlamış olduğunuz siteye giren kişiler jpeg uzantılı dosya yükleyemeyecektir. Neden mi?

Internet Explorer 6, 7 veya 8 ile Çıkan Sonuç

Görmüş olduğunuz gibi Internet Explorer 6,7 veya 8 ile hazırlamış olduğunuz siteye giren kullanıcılar, türü jpeg olan dosyalardan yüklemek isterlerse başarısız olacaklardır. Çünkü yaptıkları işlem sizin belirlemiş olduğunuz "image/jpeg" koşuluna uymayacaktır. O yüzden "image/jpeg" koşuluna ek olarak "image/pjpeg" koşulunu da ekleyin. Şunu da unutmayın bu sıkıntı sadece Internet Explorer (6, 7, 8) için geçerlidir. Internet Explorer 9 için geçerli değildir.

Eğer hazırlamış olduğum örnek uygulamayı indirmek isterseniz buraya tıklayın.

Yorumlar (1) -

  • ogrenci

    5.2.2013 12:46:11 | Yanıtla

    Tam da aradığım ve bulamadığım bir konuydu, sitenizde buldum. Paylaşımınız için çok tşk ederim.

Yorum ekle

Loading