Как узнать имя загруженного файла?

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Имена загруженных файлов заранее неизвестны. Складываю все в одну папку , не хочу под каждую закачку лепить папку и узнавать имя единственного находящегося в ней файла.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

как ты из загружаешь?
в гет запросах в заголовках есть оно если че.
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Обычно, не гет.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

делай гет на урл файла..получай header только..там в заголовке будет имя файла.
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Этот способ не подходит по ряду причин. Основная - надо быть авторизованным на сайте.
Да и нет прямого урла - сначала вбиваются необходимые параметры, а затем генерируется файл.
Ну а раз шаб делаю не на гет-пост запросах - не охота городить симбиоз.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

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

еще по дате создания в папке..но если многопоток..связывать по времени нужно тогда.
если тебе нет необходимости связывать с потоками файлы,а просто получить имена, то C# снипетом можно получить имена, если они разные канешь при каждой загрузке.
 
  • Спасибо
Реакции: LmPopo

evgen_po

Client
Регистрация
27.08.2013
Сообщения
847
Благодарностей
528
Баллы
93
Имена загруженных файлов заранее неизвестны. Складываю все в одну папку , не хочу под каждую закачку лепить папку и узнавать имя единственного находящегося в ней файла.
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
Не получаю ничего. Нажимаю на кнопку "Сгенерировать". Нет прямой ссылки. В итоге загружается архив с произвольным именем. Вот его дальше буду потрошить и работать с находящимся там файлом.
еще по дате создания в папке..но если многопоток..связывать по времени нужно тогда.
Интересная мысль. Работа в 1 поток. Побёг делать сниппет. )
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Google=>c# get directory files by date
Google=>c# sorting files by date
 
  • Спасибо
Реакции: LmPopo

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
А какой архив? Если зип - то вроде бы можно его с шаба через с# прямо распаковать куда-то в отдельную папку (по имени архива) потомуже в этой папке найти файл, взять его имя, переместить куда надо а потом уже удалить папку которая образовалась в ходе распаковки. Ну это при условии что имена архивов разные и они (архивы) перезаписываться не будут в многопотоке
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Спасибо за ответ. Но я уже реализовал поиск загруженного архива.
прямо распаковать куда-то в отдельную папку (по имени архива)
В этом и была проблема - узнать имя загружаемого файла не до начала загрузки, а после.
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Возможно это как-то через хттп хидеры можно глянуть... точно не уверен. Но ведь браузер же как-то знает имя файла, который скачивает
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Остаётся только гадать, как не используя гет запрос без костылей узнать сию инфу. Но я лучше займусь делом. )
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
А почему вы гет запрос не можете использовать? Там кнопка на форме? Если да, то у формы должен быть action, на который можно post запрос отослать
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Сайт с авторизацией. Надо парсить куки для пост, при остальной работе из браузера не хочу этого делать, к тому же вторая авторизация может боком вылезть.
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Эх... я бы что конкретное подсказал, но не припомнб ниодного сайта где файл скачивается кнопкой а не ссылкой
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Только что глянул - по идее если оставлять дефолтные настройки, то куки должны оставаться для пост запроса. Т.е. когда залозинились - можно спокойно отправлять пост запрос и грузить файл. Заодно и сам файл загрузится и имя узнаете
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
В общем - да, тоже рабочая идея, но мне не нравится получение кук с инстанса с тех пор, как в одном шабе в PM куки были одни, а в зенке другие.
А так как после получения требуется допиливать заменами под пост запрос, замены не срабатывали и шаб молотил впустую.
То ли сейчас исправили, то ли сайт был такой странный.
А сейчас так получал куки:
Код:
return instance.GetCookie("host", true).Replace("&","; ");
Ну и отснифал пост и подставил свои значения.
И в переменную в ответ записывается путь к загруженному файлу.
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
Да, это самый очевидный вариант, но сразу же написал, что этот варик отпадает )
Ещё и по той причине, что у зенки (не pm) есть баг, по крайней мере у меня проявляется от шаба к шабу. Но всё никак не создам тему.
После создания такой временной папки и загрузки в неё файла, папка не удаляется, приходится потом неудовлетворённо созерцать сотни таких папок и удалять вручную.
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
у мня удаляется нормально,может что то не так делаешь?)
если работаем в многопотоке то можно создать 100 папок для 100 потоков
создать список с названиями и с ним уже работать,тогда папку удалять не нужно
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113
тоже есть шаб, который работает с временными папками.. удаляются ок..
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Протестировал. Удаляется.
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
В 1 поток запускать для теста.
Вот что у меня после отработки в Tmp папке:
upload_2014-12-18_23-18-23.png

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

Вложения

  • 29,9 КБ Просмотры: 10

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Папку создавайте перед использованием, будет все норм.

 
  • Спасибо
Реакции: LmPopo

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Спасибо, думал раз и так создаётся папка - необходимо избавить глаз от созерцания необязательного экшна )
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Как говорится "А ларчик просто открывался" :-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)