Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Генерация и вывод картинок / 25 сообщений из 25, страница 1 из 1
11.04.2014, 21:18
    #38612871
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
нужно вывести таблицу с картинками, картинки генерятся а не хранятся. Как сделать? думаю можно на серваке папку tmp создавать, туда сохранять и кидать ссылки в таблицу на эти картинки. Но ведь придется очищать в какой то момент? можно както по другому?
...
Рейтинг: 0 / 0
11.04.2014, 21:21
    #38612873
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSqlможно както по другому?в *.ashx - генерировать картинку и "сохранять" в context.Response.

пример есть в каждом учебнике.
...
Рейтинг: 0 / 0
11.04.2014, 22:51
    #38612920
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSqlнужно вывести таблицу с картинками, картинки генерятся а не хранятся. Как сделать? думаю можно на серваке папку tmp создавать, туда сохранять и кидать ссылки в таблицу на эти картинки. Но ведь придется очищать в какой то момент? можно както по другому?

если картинки только "на один раз" и они небольшие, можно хранить в Cache с небольшим сроком жизни.

если же речь идёт о более длительном кешировании, допустим, миниатюр, то можно создать перманентную папку с доступом на запись/изменение и сохранять их туда. на счёт очищения, если это требуется, можно на серваке сделать задачу, выполняющуюся по расписанию, которая тупо чистит папку.
...
Рейтинг: 0 / 0
11.04.2014, 22:52
    #38612922
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSql,

да, и отдавать их засовывая в Response. либо модулем, либо ashx в случае винформс, либо действием контроллера в случае mvc.
...
Рейтинг: 0 / 0
12.04.2014, 15:10
    #38613133
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
Яростный МечFatherSqlможно както по другому?в *.ashx - генерировать картинку и "сохранять" в context.Response.

пример есть в каждом учебнике.
конкертней. как картинка вставлена в страницу?
...
Рейтинг: 0 / 0
12.04.2014, 15:13
    #38613134
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSql, например как <img>.
...
Рейтинг: 0 / 0
12.04.2014, 15:14
    #38613137
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSql конкертней. как картинка вставлена в страницу?
Можно как тэг, типа
Код: html
1.
<img src="GeneratePicture.ashx" />


В коде GeneratePicture.ashx выдавать все необходимые заголовки и поток данных картинки.
...
Рейтинг: 0 / 0
12.04.2014, 15:20
    #38613143
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
SQL2008FatherSql конкертней. как картинка вставлена в страницу?
Можно как тэг, типа
Код: html
1.
<img src="GeneratePicture.ashx" />


В коде GeneratePicture.ashx выдавать все необходимые заголовки и поток данных картинки.
таким образом на сервере не хранится а сразу отдается клиенту?
...
Рейтинг: 0 / 0
12.04.2014, 16:04
    #38613168
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSqlSQL2008пропущено...

Можно как тэг, типа
Код: html
1.
<img src="GeneratePicture.ashx" />


В коде GeneratePicture.ashx выдавать все необходимые заголовки и поток данных картинки.
таким образом на сервере не хранится а сразу отдается клиенту?
Именно так.
Сами картинки можно хранить в БД в виде binary(...).
...
Рейтинг: 0 / 0
14.04.2014, 02:54
    #38613861
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
а как примерно сделать динамическую подгрузку картинок. Типа 10 грузятся, внизу кнопка "загрузить еще", жмешь - еще грузятся. Как в гугле.
...
Рейтинг: 0 / 0
14.04.2014, 03:30
    #38613865
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSqlКак в гугле.

может у него и спросить?
...
Рейтинг: 0 / 0
14.04.2014, 12:49
    #38614112
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
а почему если добавить http handler через add new file то расширение cs у файла? внутри
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    public class IISHandler1 : IHttpHandler
    {
        /// <summary>
        /// You will need to configure this handler in the web.config file of your 
        /// web and register it with IIS before being able to use it. For more information
        /// see the following link: http://go.microsoft.com/?linkid=8101007
        /// </summary>
        #region IHttpHandler Members

        public bool IsReusable
        {
            // Return false in case your Managed Handler cannot be reused for another request.
            // Usually this would be false in case you have some state information preserved per request.
            get { return true; }
        }

        public void ProcessRequest(HttpContext context)
        {
            //write your handler implementation here.
        }

        #endregion
    }
}
...
Рейтинг: 0 / 0
14.04.2014, 14:35
    #38614236
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
создал такой код в ashx но он не дебажится и среда много чего подсвечивает как будто ошибки синтаксиса
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

<%@ WebHandler Language="VB" Class="WebApplication1.GetCameraScreenshot" %>

namespace WebApplication1
{
    public Class GetCameraScreenshot : IHttpHandler 
    {

        bool IHttpHandler.IsReusable 
        {

          get 
          { 
            return true; 
          }

        }

    void IHttpHandler.ProcessRequest(HttpContext context) 
    {

      // handler code

    }

  }

}
	
...
Рейтинг: 0 / 0
14.04.2014, 14:39
    #38614241
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
там ошибка что указан vb а не c# но исправление привело к тому что он не видит код (не подсвечивает названия классов, все серое)
...
Рейтинг: 0 / 0
14.04.2014, 14:53
    #38614267
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
в ashx сделал
<%@ WebHandler Class="WebApplication1.GetCameraScreenshot"
CodeBehind="GetCameraScreenshot.cs" %>

и вынес с шарп код в этот файл. Все сразу запахало. Прикольно.
...
Рейтинг: 0 / 0
14.04.2014, 16:26
    #38614433
Генерация и вывод картинок
А как картинку при этом заставить кешироваться бровзером?

ставлю статус ответа 304, дык она тогда с первого раза не грузитса...

а при обычном раскладе -- постоянно 200 и постоянно таскается треш по сети, шо не есть гут!
...
Рейтинг: 0 / 0
14.04.2014, 16:48
    #38614466
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
Художник диноА как картинку при этом заставить кешироваться бровзером?

ставлю статус ответа 304, дык она тогда с первого раза не грузитса...

а при обычном раскладе -- постоянно 200 и постоянно таскается треш по сети, шо не есть гут!
- А кормить в дороге никто не обещал.(с)
( главное что бы скомпилилось, если канал жырный - не заметят)
...
Рейтинг: 0 / 0
14.04.2014, 17:25
    #38614524
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
Художник диноА как картинку при этом заставить кешироваться бровзером?
Expire пропиши в заголовках ответа
...
Рейтинг: 0 / 0
14.04.2014, 17:44
    #38614558
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
Художник диноА как картинку при этом заставить кешироваться бровзером?
По разному, исходя из твоей задачи:

а) Самое простое - указать заголовок Expires. Тогда браузер не должен обращаться к этому ресурсу пока не наступит время после указанного в Expires. При этом есть риск что пользователь будет видеть старую картинку когда уже есть новая. Если это не устраивает, то см. б)

б) Использовать заголовки Last-Modified/If-Modified-Since или E-Tag/If-None-Match. В первой паре при первом запросе мы отдаем заголовок Last-Modified с датой последнего изменения ресурса. При последующим запросах клиент отправляет нам заголовк If-Modified-Since. Если его значение и дата измененения ресурса одинаковые, то отвечаем кодом 304 без содержимого, иначе кодом 200 с телом. По анологии поступаем с E-Tag/If-None-Match. Толкьо вместо даты используем некий признак с помощью которого можно узнавать об изменениях. Это может дата в виде кол-ва секунд, криптографический хеш (md5, sha1), контрольная сумма (crc32) или что-то еще.
...
Рейтинг: 0 / 0
16.04.2014, 16:34
    #38616694
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
хочу сделать постепенную загрузку картинок чтобы сервер не грузить. Прикрутил плагин jquery lazy который вроде занимается такой подгрузкой картинок. Но судя по наблюдениям (дело в том что картинка грузится пару секунд, соответсвтенно если бы они на лету грузились то было бы видно задержку при скроллинге а они после загрузки первой картинки сразу все появляются похоже) он это не делает.
...
Рейтинг: 0 / 0
16.04.2014, 17:11
    #38616746
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
FatherSql,

Можно загружать массив из base64, а затем прокручивать на клиенте.
...
Рейтинг: 0 / 0
16.04.2014, 17:35
    #38616786
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
сделал отладку, обнаружил что генерация вызывается всего 1 раз. Было создано 40 картинок но url на хэндлер был один и тотже. То есть он не 40 раз обрабатывал а похоже 1 раз и пихнул сгенерированную картинку в 40 мест. Это конечно хорошо что оптимизировал. Чтож попробую разные url пихать (в конечной версии естественно будут разные)
...
Рейтинг: 0 / 0
16.04.2014, 20:17
    #38616912
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
Это называется кешированием.
Чтобы вызывать генерацию каждый раз добавляйте к вызову случайный параметр.
Код: c#
1.
<img src="GeneratePicture.ashx?id=12345" />


где число должно меняться от вызова к вызову
тогда он будет (должен по крайней мере) генерировать картинку каждый раз
...
Рейтинг: 0 / 0
16.04.2014, 20:31
    #38616917
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
SQL2008Это называется кешированием.
Чтобы вызывать генерацию каждый раз добавляйте к вызову случайный параметр.
Код: c#
1.
<img src="GeneratePicture.ashx?id=12345" />


где число должно меняться от вызова к вызову
тогда он будет (должен по крайней мере) генерировать картинку каждый раз
уже догодалсо
...
Рейтинг: 0 / 0
17.04.2014, 17:37
    #38617852
FatherSql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация и вывод картинок
проверил - идеально lazy загрузка работает.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Генерация и вывод картинок / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]