Upload+AJAX

Crusader

Новичок
Upload+AJAX

Загружаю несколько файлов через AJAX, потом, после сабмита всей формы хочу их обработать. Проблема вот в чем - как можно получить доступ к файлам которые были загружены другим потоком? Если их перемещать в другую временную папку, то как их потом удалять, и как отделить файлы одного пользователя от файлов другого? Можно ли как то это сохранить в сессии? Или через аякс добавлять в форму?
Кто такое делал когда нибдуь - посоветуйте плиз!
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Crusader
Код в студию, какой загрузчик используешь?

Если это SWFUpload, то забудь о потоках, там он один. Все файлы грузятся банально по-очереди.

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

iceman

говнокодер
c0dex
он файлы аякосм грузит а потом только форму отправляет...

Crusader
сессия должна пахать...
если нет, можно идентификатор файла затащить в хидден-инпут и отправлять сабмитом
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
iceman
Ну если сначала файт а потом сабмит формы, то не вижу трабла. У меня так сделано было, чтобы при создании профиля юзера можно было заранее фото привязать к нему. Грузился файтик в temp папку, преобразовывался естесвенно к нужному виду и размеру и выводился в div.
 

Crusader

Новичок
c0dex
а как ты владельца файла определял, чтобы потом ему это фото привязать?

Вообщем я сделал так: при заливке файла создается папочка с именем из sessionid - там создается папочка dir=time () а в эту папочку загружается файлик, потом название dir отправляется в ответе в форму и запоминается там - и все последующие файлики грузятся в эту папку (что бы потом не перепутать с файлами этого же юзера но в других формах). После сабмита формы все содержимое папочки привязывается к новой записи в базе.
Если есть у кого какие идеи - буду рад выслушать.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Crusader
Файлы грузились в временную папку, а имена файлов (у меня был 1) распихивались по скрытым полям в форме юзера, что файл загрузил, можно было сделать на табличке в БД, но это не важно было.
 

iceman

говнокодер
Crusader
в общем ты суть понял, дальше думай головой, либо делай методом проб и ошибок
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Crusader
Тебе не надо сохранять файлы с оригинальными именами на диске. Если их надо потом скачать - отдавай оригинальное имя. А так в общем-то это тебе не надо. Если у тебя такой страх что имена файлов совпадут, то сделай табличку в бд с полями:

id | userid | filename_original | filename_unique

Все собственно вроде как.
 
Сверху