Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как сформировать response для открытия файла с любым расширением?
|
|||
|---|---|---|---|
|
#18+
Знаю имя файла, проверяю, имеет ли юзер доступ к нему и после этого открываю соответствующим образом файл. Но Обычно, когда юзер щелкает по ссылке, эксплорер определяет расширение и соответственно отображает файл (изображение, текст) или предлагает пользователю открыть или сохранить его (архив, файлы MS Word и т.п.). Как сделать то же самое, только программно (т.е. по имени файла). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 14:26 |
|
||
|
как сформировать response для открытия файла с любым расширением?
|
|||
|---|---|---|---|
|
#18+
Поищите по Response.ContentType Они бывают например: "application/vnd.ms-excel" "application/vnd.ms-word" "image/gif" "image/JPEG" "text/plain" "application/x-cdf" "application/pdf" Ну и куча других... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 15:01 |
|
||
|
как сформировать response для открытия файла с любым расширением?
|
|||
|---|---|---|---|
|
#18+
придется, значит, ручками все делать Known MIME Types Hard-coded tests exist for the following MIME types that currently exist in URL Moniker. text/richtext text/html audio/x-aiff audio/basic audio/wav image/gif image/jpeg image/pjpeg image/tiff image/x-png image/x-xbitmap image/bmp image/x-jg image/x-emf image/x-wmf video/avi video/mpeg application/postscript application/base64 application/macbinhex40 application/pdf application/x-compressed application/x-zip-compressed application/x-gzip-compressed application/java application/x-msdownload ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 15:42 |
|
||
|
как сформировать response для открытия файла с любым расширением?
|
|||
|---|---|---|---|
|
#18+
Поищите по Response.ContentType Они бывают например: "application/vnd.ms-excel" "application/vnd.ms-word" "image/gif" "image/JPEG" "text/plain" "application/x-cdf" "application/pdf" Ну и куча других... Просто ситуация такая, что заранее расширение неизвестно - файл может быть какого угодно формата Если бы вот был ContentType, при котором эксплорер действовал аналогично тому, как при щелчке по ссылке... или функция что-ли, которая по имени файла возвращала бы этот ContentType для него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 16:52 |
|
||
|
как сформировать response для открытия файла с любым расширением?
|
|||
|---|---|---|---|
|
#18+
В обчем получилось, что нужно было Если вдруг кому интересно будет, то вот он кот public static void ShowFileInResponse(HttpResponse response, string filepath, string url) { // files with image - open at once if (DeltaVec.Main.DVImage.IsImageFile(filepath)) ShowImageFileInResponse(response, filepath); else { // other files - offer open or save //ShowTextFileInResponse(response, filepath); response.Clear(); response.ContentType = "application/octet-stream"; string filename = Path.GetFileName(filepath); //byte[] bytes = HttpContext.Current.Request.ContentEncoding.GetBytes(filename); // для FireFox - иначе не откроет файл с пробелом в имени string encodedname = System.Web.HttpUtility.UrlEncode(filename); response.AddHeader("Content-Disposition", "attachment; filename=" + encodedname); response.TransmitFile(filepath); response.Flush(); } } public static void ShowImageFileInResponse(HttpResponse response, string filepath) { response.Clear(); try { // make bitmap if (!System.IO.File.Exists(filepath)) throw new FileNotFoundException(); Bitmap bm = new Bitmap(filepath); // define image format ImageFormat imgFormat = ImageFormat.Jpeg; string ext = Path.GetExtension(filepath); switch (ext.ToLower()) { case ".gif": imgFormat = ImageFormat.Gif; break; case ".jpg": case ".jpeg": imgFormat = ImageFormat.Jpeg; break; case ".png": imgFormat = ImageFormat.Png; break; case ".bmp": imgFormat = ImageFormat.Bmp; break; } // save bitmap to stream bm.Save(response.OutputStream, imgFormat); } catch (FileNotFoundException) { response.Write(string.Format(@"File ""{0}"" not found", filepath)); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 17:27 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1390016]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 418ms |

| 0 / 0 |
