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

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Имена загруженных файлов заранее неизвестны. Складываю все в одну папку , не хочу под каждую закачку лепить папку и узнавать имя единственного находящегося в ней файла.
 

7make

Client
Joined
Jun 25, 2011
Messages
1,547
Reaction score
1,310
Points
113

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

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

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Обычно, не гет.
 

7make

Client
Joined
Jun 25, 2011
Messages
1,547
Reaction score
1,310
Points
113

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

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

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Этот способ не подходит по ряду причин. Основная - надо быть авторизованным на сайте.
Да и нет прямого урла - сначала вбиваются необходимые параметры, а затем генерируется файл.
Ну а раз шаб делаю не на гет-пост запросах - не охота городить симбиоз.
 

7make

Client
Joined
Jun 25, 2011
Messages
1,547
Reaction score
1,310
Points
113

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

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

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

evgen_po

Client
Joined
Aug 27, 2013
Messages
848
Reaction score
528
Points
93
Имена загруженных файлов заранее неизвестны. Складываю все в одну папку , не хочу под каждую закачку лепить папку и узнавать имя единственного находящегося в ней файла.
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
Не получаю ничего. Нажимаю на кнопку "Сгенерировать". Нет прямой ссылки. В итоге загружается архив с произвольным именем. Вот его дальше буду потрошить и работать с находящимся там файлом.
еще по дате создания в папке..но если многопоток..связывать по времени нужно тогда.
Интересная мысль. Работа в 1 поток. Побёг делать сниппет. )
 

7make

Client
Joined
Jun 25, 2011
Messages
1,547
Reaction score
1,310
Points
113

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

Google=>c# get directory files by date
Google=>c# sorting files by date
 
  • Thank you
Reactions: LmPopo

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
А какой архив? Если зип - то вроде бы можно его с шаба через с# прямо распаковать куда-то в отдельную папку (по имени архива) потомуже в этой папке найти файл, взять его имя, переместить куда надо а потом уже удалить папку которая образовалась в ходе распаковки. Ну это при условии что имена архивов разные и они (архивы) перезаписываться не будут в многопотоке
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Спасибо за ответ. Но я уже реализовал поиск загруженного архива.
прямо распаковать куда-то в отдельную папку (по имени архива)
В этом и была проблема - узнать имя загружаемого файла не до начала загрузки, а после.
 

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
Возможно это как-то через хттп хидеры можно глянуть... точно не уверен. Но ведь браузер же как-то знает имя файла, который скачивает
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Остаётся только гадать, как не используя гет запрос без костылей узнать сию инфу. Но я лучше займусь делом. )
 

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
А почему вы гет запрос не можете использовать? Там кнопка на форме? Если да, то у формы должен быть action, на который можно post запрос отослать
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Сайт с авторизацией. Надо парсить куки для пост, при остальной работе из браузера не хочу этого делать, к тому же вторая авторизация может боком вылезть.
 

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
Эх... я бы что конкретное подсказал, но не припомнб ниодного сайта где файл скачивается кнопкой а не ссылкой
 

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
Только что глянул - по идее если оставлять дефолтные настройки, то куки должны оставаться для пост запроса. Т.е. когда залозинились - можно спокойно отправлять пост запрос и грузить файл. Заодно и сам файл загрузится и имя узнаете
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
В общем - да, тоже рабочая идея, но мне не нравится получение кук с инстанса с тех пор, как в одном шабе в PM куки были одни, а в зенке другие.
А так как после получения требуется допиливать заменами под пост запрос, замены не срабатывали и шаб молотил впустую.
То ли сейчас исправили, то ли сайт был такой странный.
А сейчас так получал куки:
Code:
return instance.GetCookie("host", true).Replace("&","; ");
Ну и отснифал пост и подставил свои значения.
И в переменную в ответ записывается путь к загруженному файлу.
 

alekwuy

Client
Joined
Apr 6, 2013
Messages
1,631
Reaction score
461
Points
83
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
Да, это самый очевидный вариант, но сразу же написал, что этот варик отпадает )
Ещё и по той причине, что у зенки (не pm) есть баг, по крайней мере у меня проявляется от шаба к шабу. Но всё никак не создам тему.
После создания такой временной папки и загрузки в неё файла, папка не удаляется, приходится потом неудовлетворённо созерцать сотни таких папок и удалять вручную.
 

alekwuy

Client
Joined
Apr 6, 2013
Messages
1,631
Reaction score
461
Points
83
у мня удаляется нормально,может что то не так делаешь?)
если работаем в многопотоке то можно создать 100 папок для 100 потоков
создать список с названиями и с ним уже работать,тогда папку удалять не нужно
 

Sergodjan

Administrator
Staff member
Joined
Sep 5, 2012
Messages
19,516
Reaction score
8,703
Points
113
тоже есть шаб, который работает с временными папками.. удаляются ок..
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,707
Points
113
Протестировал. Удаляется.
 

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
В 1 поток запускать для теста.
Вот что у меня после отработки в Tmp папке:
upload_2014-12-18_23-18-23.png

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

Attachments

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,707
Points
113
Папку создавайте перед использованием, будет все норм.

 
  • Thank you
Reactions: LmPopo

LmPopo

Client
Joined
Dec 6, 2012
Messages
299
Reaction score
136
Points
43
Спасибо, думал раз и так создаётся папка - необходимо избавить глаз от созерцания необязательного экшна )
 

kyvour

Активный пользователь
Joined
May 17, 2014
Messages
186
Reaction score
36
Points
28
Как говорится "А ларчик просто открывался" :-)
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)