Şimdi Ara

Asp.Net için Download / İndirme komutu??

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
1.597
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Gridview da db den gelen bi adrese tıklandığında o dosyayı açmasını değil indirmesini sağlamak için hangi kodu kullanmalıyım??.
    örneğin PDF dosyalarına tıklandığında Adobe Reader, browser eklentisiyle çalışıyo, ama ben dosyanın PC ye indirilmesini istiyorum (hedefi farklı kaydet gibi)...



  • quote:

    Orjinalden alıntı: netopin

    Gridview da db den gelen bi adrese tıklandığında o dosyayı açmasını değil indirmesini sağlamak için hangi kodu kullanmalıyım??.
    örneğin PDF dosyalarına tıklandığında Adobe Reader, browser eklentisiyle çalışıyo, ama ben dosyanın PC ye indirilmesini istiyorum (hedefi farklı kaydet gibi)...





    indirme yada gösterme işini explorer ın kendisi yapıyor kendi yaptığın sitede böyle birşey yapamazsın ama dosyaları rar yaparsan anacak ozaman indirilebilir
  • hayır, komutu var, araştırma yaptım biraz buldum uyarladım ve şçle bişi yaptım:::


    Sayfa : indir.aspx?ds=dosya.pdf

     
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Collections.Generic" %>
    <%@ Import Namespace="System.IO" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
    string pdfdosya = Request.QueryString["ds"];
    string dosyaAdi = Server.MapPath("dosyalar") + "\\" + pdfdosya;
    FileInfo dosya = new FileInfo(dosyaAdi);

    Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfdosya); // Bu şekilde tarayıcı penceresinden hangi dosyanın indirileceği belirtilir. Eğer belirtilmesse bulunulan sayfanın kendisi indirilir. Okunaklı bir formattada olmaz.
    Response.AddHeader("Content-Length",dosya.Length.ToString()); // İndirilecek dosyanın uzunluğu bildirilir.
    Response.ContentType = "application/octet-stream"; // İçerik tipi belirtilir. Buna göre dosyalar binary formatta indirilirler.
    Response.WriteFile(dosyaAdi); // Dosya indirme işlemi başlar.
    Response.End(); // Süreç bu noktada sonlandırılır. Bir başka deyişle bu satırdan sonraki satırlar işletilmez hatta global.asax dosyasında eğer yazılmışsa Application_EndRequest metodu çağırılır.

    }
    </script>
    <html><body>
    </body></html>



    ama dosya yoksa sunucuda hata veriyo, bunun yerine geldiği sayfaya dönmesi için ne yapayım???
    hata verirse gibi bi kod var mı???



    < Bu mesaj bu kişi tarafından değiştirildi netopin -- 27 Ekim 2007; 21:17:27 >
  • kodları try catch arasına koy catch bölümüne de response.redirect("yonleneceksayfa.aspx"); yaz eğer hata verirse catch e düşer catch deki işlemleri yapar
  • direk indirilecek seyin yolunu yaz zaten o sekilde indiriyo.

    aç kaydet iptal kutusu çikiyo kaydet diyince kaydediyo;)
  • quote:

    Orjinalden alıntı: ka1984

    direk indirilecek seyin yolunu yaz zaten o sekilde indiriyo.

    aç kaydet iptal kutusu çikiyo kaydet diyince kaydediyo;)


    Bu güzel bir yol değil ama, kullanıcıya direk dosyanın sunucudaki path'ini vermek yani...
  • sroun devam edıyor

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.