Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.05.10;
Скачать: [xml.tar.bz2];

Вниз

Веб-разработка, пару вопросов   Найти похожие ветки 

 
Demo   (2014-09-23 09:01) [0]

Добрый день!

Использую UI, в котором есть компонент FileUpload. Все загружаемые файлы, он передает моему контроллеру. В контроллере я складываю их в папку Temp, которая создается для текущего пользователя (Temp/UserId). После сохранения формы, все файлы из папки Temp перемещаются в основную папку Files.

1. Как быть когда пользователь загружает 2 файла с одинаковым именем? Если я на сервере буду его переименовывать, тогда при в компоненте UploadFile если пользователь захочет удалить файл из списка, контроллер получит предыдущее имя файла, которое я потом не найду в папке Temp. А если переименовать файл на сервере и вернуть компоненту новое имя, тогда имя файла в компоненте будет отображаться по новому.

2. Все временно загруженные файлы хранятся в папке Temp/UserId

При открытии формы, я чищу временную папку, но если пользователь создаст параллельную вкладку с этой же формой, тогда предыдущие не сохраненные файлы будут затерты.

Подскажите как в таких случаях нужно поступать? Я всегда писал только под Windows, веб-разработка для меня что-то новое.


 
Demo   (2014-09-23 09:11) [1]

Добавочный вопрос, очень надеюсь получить ответ.

После отрисовки компонентов (Input-text, Select итд) на форме, нужно отобразить в них данные из базы. Нормально ли дождаться полной отрисовки которую делает UI, а затем Ajax запросом запросить данные из сервера и отобразить их в этих компонентах? Или загрузка страницы + дополнительное обращение к серверу это не комельфо?


 
junglecat   (2014-09-23 09:23) [2]

> 1. Как быть когда пользователь загружает 2 файла с одинаковым
> именем?

генерить уникальное имя файла, н-р, гуид. В сессии на сервере хранить коллекцию неких объектов, где будут сопоставлены реальные и временные имена.
Либо делать копию (прибавлять к имени (копия N), к примеру), честно предупреждая об этом юзера.

> При открытии формы, я чищу временную папку

использовать вышеописанную структуру для отслеживания файлов "в разработке" и мусора. Либо завести фоновый "сборщик мусора".

> загрузка страницы + дополнительное обращение к серверу это
> не комельфо?

смотря сколько длится то и другое. Желательно конечно минимизировать число обращений к серверу


 
Demo   (2014-09-23 09:28) [3]


> генерить уникальное имя файла, н-р, гуид. В сессии на сервере
> хранить коллекцию неких объектов, где будут сопоставлены
> реальные и временные имена.


Честно сказать так и предполагал, но решил с начала посоветоваться. Спасибо.


> смотря сколько длится то и другое. Желательно конечно минимизировать
> число обращений к серверу


Все происходит быстро. Но каждый комбобокс на форме уже обращается к контроллерам, каждый грид. Так как компоненты не серверные, вставлять сразу из сервера при генерации не получается, по этому отображаю после загрузки страницы.


 
junglecat   (2014-09-23 09:50) [4]

> Но каждый комбобокс на форме уже обращается к контроллерам,
> каждый грид

ну в общем-то нормальная практика. Быстро показать минимум контента, а потом уже грузить все остальное



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2015.05.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
6-1276085579
tippa
2010-06-09 16:12
2015.05.10
таймаут сокета


15-1411486735
Kerk
2014-09-23 19:38
2015.05.10
выбор NAS для дома для себя


15-1411590605
Юрий
2014-09-25 00:30
2015.05.10
С днем рождения ! 25 сентября 2014 четверг


15-1411488847
бедный юзер
2014-09-23 20:14
2015.05.10
Как поставить skype на XP SP2?


2-1392328243
Novicer
2014-02-14 01:50
2015.05.10
Как удалить несколько строк в таблице?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский