Bazı belgeleri saklayan bir sql veritabanına sahibim.C# ASP.NET 3.5 içerik tutma dosyası indirme sorunları
Bir kullanıcı uygulamaya girebilir ve belgelerinin listesini görüntüleyebilir.
Belgeleri bir kılavuz görünümünde bir bağlantı indirme tıklatıldığında, dosyayı veritabanından alır, dosya sistemine yazar ve sonra bu kodu çalıştırır.
System.IO.FileInfo file = new System.IO.FileInfo(System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + DocumentName);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Cookies.Clear();
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.CacheControl = "private";
Response.Charset = System.Text.UTF8Encoding.UTF8.WebName;
Response.ContentEncoding = System.Text.UTF8Encoding.UTF8;
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.AppendHeader("Pragma","cache");
Response.AppendHeader("Expires", "60");
Response.ContentType = GetContentType(file.Extension);
Response.AppendHeader("Content-Disposition",
"inline; " +
"filename=\"" + file.Name + "\"; " +
"size=" + file.Length.ToString() + "; " +
"creation-date=" + DateTime.Now.ToString("R") + "; " +
"modification-date=" + DateTime.Now.ToString("R") + "; " +
"read-date=" + DateTime.Now.ToString("R"));
Benim getContentType() metodu sadece ben "application/pdf, uygulama/msw0rd izin veriyorum dosyaları için uygun dosya türünü döndürür vb
Benim sorundur dosya kaydedilmesini zaman, dosya sistemi değil, web sayfasının kendisi ve google chrome, dosya adının sonuna bir .htm uzantısı koyuyor, sanırım bu bir web sayfası olduğunu biliyordur?
Neyse, harika bir ilk adım, gerçek dosyayı almak ve HTML'de web sayfasının bir kopyasını değil!
Teşekkürler.