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

  • Автор темы Автор темы LmPopo
  • Дата начала Дата начала

LmPopo

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

еще по дате создания в папке..но если многопоток..связывать по времени нужно тогда.
если тебе нет необходимости связывать с потоками файлы,а просто получить имена, то C# снипетом можно получить имена, если они разные канешь при каждой загрузке.
 
  • Оценить
Реакции: LmPopo
Имена загруженных файлов заранее неизвестны. Складываю все в одну папку , не хочу под каждую закачку лепить папку и узнавать имя единственного находящегося в ней файла.
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
 
Ты же получаешь к файлу полный путь перед загрузкой. Из пути регуляркой вырезать можно название файла
Не получаю ничего. Нажимаю на кнопку "Сгенерировать". Нет прямой ссылки. В итоге загружается архив с произвольным именем. Вот его дальше буду потрошить и работать с находящимся там файлом.
еще по дате создания в папке..но если многопоток..связывать по времени нужно тогда.
Интересная мысль. Работа в 1 поток. Побёг делать сниппет. )
 
А какой архив? Если зип - то вроде бы можно его с шаба через с# прямо распаковать куда-то в отдельную папку (по имени архива) потомуже в этой папке найти файл, взять его имя, переместить куда надо а потом уже удалить папку которая образовалась в ходе распаковки. Ну это при условии что имена архивов разные и они (архивы) перезаписываться не будут в многопотоке
 
Спасибо за ответ. Но я уже реализовал поиск загруженного архива.
прямо распаковать куда-то в отдельную папку (по имени архива)
В этом и была проблема - узнать имя загружаемого файла не до начала загрузки, а после.
 
Возможно это как-то через хттп хидеры можно глянуть... точно не уверен. Но ведь браузер же как-то знает имя файла, который скачивает
 
Остаётся только гадать, как не используя гет запрос без костылей узнать сию инфу. Но я лучше займусь делом. )
 
А почему вы гет запрос не можете использовать? Там кнопка на форме? Если да, то у формы должен быть action, на который можно post запрос отослать
 
Сайт с авторизацией. Надо парсить куки для пост, при остальной работе из браузера не хочу этого делать, к тому же вторая авторизация может боком вылезть.
 
Эх... я бы что конкретное подсказал, но не припомнб ниодного сайта где файл скачивается кнопкой а не ссылкой
 
Только что глянул - по идее если оставлять дефолтные настройки, то куки должны оставаться для пост запроса. Т.е. когда залозинились - можно спокойно отправлять пост запрос и грузить файл. Заодно и сам файл загрузится и имя узнаете
 
В общем - да, тоже рабочая идея, но мне не нравится получение кук с инстанса с тех пор, как в одном шабе в PM куки были одни, а в зенке другие.
А так как после получения требуется допиливать заменами под пост запрос, замены не срабатывали и шаб молотил впустую.
То ли сейчас исправили, то ли сайт был такой странный.
А сейчас так получал куки:
Код:
Развернуть Свернуть Копировать
return instance.GetCookie("host", true).Replace("&","; ");
Ну и отснифал пост и подставил свои значения.
И в переменную в ответ записывается путь к загруженному файлу.
 
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
 
запустили шаб,создали уникальную папку,скачали файл в эту папку,получили список файлов,взяли имя и перенести файл в другую папку.
это же намного проще чем делать сниппеты и тд)
Да, это самый очевидный вариант, но сразу же написал, что этот варик отпадает )
Ещё и по той причине, что у зенки (не pm) есть баг, по крайней мере у меня проявляется от шаба к шабу. Но всё никак не создам тему.
После создания такой временной папки и загрузки в неё файла, папка не удаляется, приходится потом неудовлетворённо созерцать сотни таких папок и удалять вручную.
 
у мня удаляется нормально,может что то не так делаешь?)
если работаем в многопотоке то можно создать 100 папок для 100 потоков
создать список с названиями и с ним уже работать,тогда папку удалять не нужно
 
тоже есть шаб, который работает с временными папками.. удаляются ок..
 
Протестировал. Удаляется.
 
В 1 поток запускать для теста.
Вот что у меня после отработки в Tmp папке:
upload_2014-12-18_23-18-23.png

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

Вложения

  • test.zip
    test.zip
    29,9 KB · Просмотры: 11
Папку создавайте перед использованием, будет все норм.

1sKAfj.png
 
  • Оценить
Реакции: LmPopo
Спасибо, думал раз и так создаётся папка - необходимо избавить глаз от созерцания необязательного экшна )
 
Как говорится "А ларчик просто открывался" :)
 

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