Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача файлов на сервер с помощью гиперметода - is it possible? / 25 сообщений из 51, страница 1 из 3
12.11.2012, 16:21
    #38034922
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Уважаемые коллеги,
У меня технический вопрос, на который, вероятно, кто-нибудь знает ответ. Скажите пожалуйста, можно ли с помощью гиперметода передать на сервер файл, выбранный пользователем в элементе <input type="file">? Т.е. тут проблема такая - что нужно вытащить из этого input и передать в качестве аргумента гиперметода и какой должен быть тип этого аргумента? И как принять на сервере имя файла и сам поток данных? Как принять из input'а файл на сервере по обычному submit'у формы я знаю и много раз успешно это делал, и в этом форуме эта техника неоднократно обсуждалась, а вот - гиперметод? И если не гиперметод - то, обобщая задачу, как передать на сервер файл без перезагрузки страницы, т.е. не submit'ом формы?
Ссылки на известные opensource-загрузчики у меня есть, я многие из них посмотрел в деле, но мне не хотелось бы встраивать их в свою довольно сложную верстку.
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
12.11.2012, 16:32
    #38034950
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Вот увидел сравнительно недавний пост от YMKA2007 (мне кажется, я знаю этого человека, хотя до конца не уверен). Обратил внимание на следующую его фразу:
"в примерах практически все через PHP реализовано, более менее понятно что там происходит
но как такую серверную часть организовать для нашего любимого Cache ? (видать мозги мои совсем перестали работать)"

Но ответа в переписке по этому посту так и не нашел. Неужели никто еще этого не делал?
...
Рейтинг: 0 / 0
12.11.2012, 16:50
    #38034986
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
решение на Cache не будет отличаться от PHP
ищем любой готовый загрузчик файлов на jQuery или без него
чаще всего это готовые наборы только части со стороны браузера
там должно быть в настройках компоненты что-то типа на какой URL отправить файл и с какими дополнительными параметрами
ну а вот в качестве этого URL указываем нашу страничку на Cache, и там ловим файл и сохраняем у себя, куда сохранить правильно помогут дополнительные параметры.

на самом деле все это теория, не было пока необходимости задействовать чужие компоненты, у нас используется все свое для этого.
...
Рейтинг: 0 / 0
12.11.2012, 17:11
    #38035032
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,
да, конечно, у вас всё своё. У вас очень мощная компонента MultipleFile на java-апплете с богатым функционалом. Ох, сколько же труда было в нее вложено! Моего в том числе.
Насчет гиперметода я, наверное, несколько размечтался. Вот, нашел очень полезную ссылку:
http://webguruz.ru/web-developer/ajax-upload-files/
Наверное, так и сделаю.
...
Рейтинг: 0 / 0
12.11.2012, 17:17
    #38035037
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
EvLaUyDAiMor,
да, конечно, у вас всё своё. У вас очень мощная компонента MultipleFile на java-апплете с богатым функционалом. Ох, сколько же труда было в нее вложено! Моего в том числе.
Насчет гиперметода я, наверное, несколько размечтался. Вот, нашел очень полезную ссылку:
http://webguruz.ru/web-developer/ajax-upload-files/
Наверное, так и сделаю.
Java-апплет, к счастью не используется, он там нафиг не нужен, от него был нужен один функционал это сканирование
а все остальное можно реализовать и на чистом JS
этот гребанный MultipleFile, руки бы поотрывать кто его таким придумал, ну это так просто мысли вслух
...
Рейтинг: 0 / 0
12.11.2012, 17:28
    #38035062
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,
М-да. Бросаться сами понимаете чем в своих предшественников, на плечах которых стоИте, - не признак хорошего тона.
Ну да ладно. Во-первых - не будем выходить за рамки темы поста, во-вторых, мне это уже давно, сами понимаете, совершенно безразлично. Включая MultipleFile.
Что касается темы. Тут вот ведь какой вопрос. Как принять файл из элемента <input type="file"> на стороне Cache всем хорошо известно. Но ведь в этих jQuery-загрузчиках - там ведь не input со своим именем и не форма, там, как Вы справедливо написали, всё по-другому настраивается. Так вот, каков в связи с этим должен быть код приема файла в Cache? Ведь наверное уже не таким, как из input? Имеет кто-нибудь success story на эту тему? "Так же как в PHP" - это не ответ, его нельзя применить на практике, если у нас не PHP, а Cache.
...
Рейтинг: 0 / 0
12.11.2012, 17:43
    #38035095
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
EvLaUyDAiMor,
М-да. Бросаться сами понимаете чем в своих предшественников, на плечах которых стоИте, - не признак хорошего тона.
Ну да ладно. Во-первых - не будем выходить за рамки темы поста, во-вторых, мне это уже давно, сами понимаете, совершенно безразлично. Включая MultipleFile.

как бы то ни было, но мне с этим работать и я знаю о чем говорю.
EvLaUyЧто касается темы. Тут вот ведь какой вопрос. Как принять файл из элемента <input type="file"> на стороне Cache всем хорошо известно. Но ведь в этих jQuery-загрузчиках - там ведь не input со своим именем и не форма, там, как Вы справедливо написали, всё по-другому настраивается. Так вот, каков в связи с этим должен быть код приема файла в Cache? Ведь наверное уже не таким, как из input? Имеет кто-нибудь success story на эту тему? "Так же как в PHP" - это не ответ, его нельзя применить на практике, если у нас не PHP, а Cache.

Вы у нас человек опытный, не будем вдаваться в подробные примеры, и странно что вы сами не смогли понять как это реализовать
объясним на пальцах: есть переменная %request, которая содержит в себе всю информацию по запросу, так вот не зависимо от того как там смог отправить jQuery, вы всегда можете посмотреть как там получил его Cache, посмотрев подробно Dump для %request
в одном из свойств этого объекта вы и найдете нужный вам файл, либо кусок файла если компонент по загрузке может качать его частями на сервер

выдрал кусок нашего кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
	i %request.IsDefinedMimeData(FieldName,1) {
		//Название файла
		s:Value="" Value=%request.MimeData(FieldName,1).FileName 
		//Тип файла
		s ContentType=%request.MimeData(FieldName,1).ContentType
		s Content=%request.MimeData(FieldName,1)
	} else {
		//Название файла
		
		//Тип файла
		s ContentType=%request.ContentType
		s Content=%request.Content
	}
...
Рейтинг: 0 / 0
12.11.2012, 18:03
    #38035133
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,
спасибо за ответ. Я нигде в этом форуме не позиционировал себя как "опытного человека", так что Ваша ирония не вполне уместна.
И потом - с каких пор на этом форуме принято отвечать типа " а вы могли бы и сами ..."? Что-то не припоминаю. Вас ведь все-таки как никак номинируют на СacheMan или как там это называется.
Фрагмент кода, который Вы привели, мне, разумеется, хорошо известен. Обратите внимание. В этом фрагменте используется переменная fieldName. Так вот, я еще раз повторю - для input с этим все ясно, там есть атрибут name, и я знаю на стороне сервера чему он равен, а для jQuery-аплоадера такого атрибута нет, потому что там нет формы как таковой. Вы правы, можно, перебрав на стороне сервера, все названия полей пришедшего объекта %request, понять, как же приходит этот файл или файлы, и я, разумеется, могу это проделать, задача решаемая. Меня интересовало, делал ли такое УЖЕ кто-нибудь из участников форума, кто мог бы поделиться успешным опытом и сэкономить время. Тот же вопрос, как я понимаю, интересовал и Ymka2007. Нет так нет. Еще раз благодарю за отклик.
...
Рейтинг: 0 / 0
12.11.2012, 18:21
    #38035162
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Часто у нас здесь фигурирует форма помощи(и не только от меня): а покажите что вы сделали вообще и мы покажем где у вас не так.

в частности в моем небольшом известном вам куске кода, есть условие по условию передачи через форму либо нет, когда указано поле либо нет.

PS. на счет позиционирования, еще как позиционировали, из того что быстро нашел тут
ну и в любом случае у меня у самого опыта работы с Cache всего то лет 5, что возможно меньше вашего
...
Рейтинг: 0 / 0
13.11.2012, 13:31
    #38036185
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
EvLaUy,

приветствую ))
да тоже дошел до этого, но файл категорически не хотел записываться и сохранятся, хотя все параметры %request.MimeData на стороне сервера я получал )))

как то так ))
...
Рейтинг: 0 / 0
13.11.2012, 13:35
    #38036190
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
зато удалось прикруть imageArreaSelect
и получил возможность вырезать куски из фото определенных заданных размеров в разумных пределах
...
Рейтинг: 0 / 0
13.11.2012, 13:43
    #38036213
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Ymka2007,
спасибо за доброжелательный отклик. Ну вот, я так и подозревал, что не так-то просто всё окажется. Рассуждения - это одно, а наличие или отсутствие реальной success story - совсем другое.
Я сейчас прикручиваю решение, ссылку на которое дал выше в этом же посте. Пока в процессе. Если это действительно работает - меня вполне устроит.
...
Рейтинг: 0 / 0
13.11.2012, 14:32
    #38036300
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
EvLaUy,

удачи, надуюсь все получится
и решением поделитесь!?
...
Рейтинг: 0 / 0
13.11.2012, 16:24
    #38036565
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
наваял пример работы с Ajax загрузкой файлов на сервер с использованием сторонних компонент
в качестве компоненты для загрузки файлов используется FineUploader
так же добавил Bootstrap, как и они в своих примерах

в архиве статика и кашевая часть в test.FileUpload.CLS.xml
я тестил на Ensemble 2010

проверял в GoogleChrome, IE9 и iPad с iOS 6
...
Рейтинг: 0 / 0
13.11.2012, 16:31
    #38036581
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,
здорово! С удовольствием посмотрю. Вы знаете, а я ведь тоже смотрел и тестировал именно fineuploader и задавая свой вопрос, именно эту компоненту и имел в виду. Теперь даже и неловко, что, получается, отнял у Вас время, которого, с учетом нагрузок в компании Летограф, и так всегда не хватает. Если это действительно success story, все свои критические выпады беру обратно и присоединяю свой голос в поддержку Вашей кандидатуры на звание CacheMan.
...
Рейтинг: 0 / 0
13.11.2012, 16:34
    #38036587
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
EvLaUy,

там правда в примере нету сохранения самого файла на сервере куда надо, но поток с файлом получен, и остается за малым его сохранить
...
Рейтинг: 0 / 0
13.11.2012, 16:37
    #38036592
EvLaUy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,
ну если поток получен, то остальное - не вопрос. Что ж, мы его уже на диск в виде файла не сохраним? Плавали - знаем.
...
Рейтинг: 0 / 0
13.11.2012, 17:22
    #38036709
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,

БРАВО )))
...
Рейтинг: 0 / 0
13.11.2012, 19:40
    #38036935
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Кстати, а как вообще делается загрузка файлов? Общая схема?
Понятно, что с помощью input type=file, но ведь далеко не всегда же?
флеш, ява?
...
Рейтинг: 0 / 0
13.11.2012, 20:43
    #38037004
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Блок А.Н.Кстати, а как вообще делается загрузка файлов? Общая схема?
Понятно, что с помощью input type=file, но ведь далеко не всегда же?
флеш, ява?
в большинстве случаев, для современных браузеров ограничивается JS, для проблемных браузеров, может применятся Flash, Java в совсем запущенных случаях
мой пример работает на iPad где нет ни Java ни Flash, не вдавался в технологию работы стороннего компонента, ну думаю это как то можно все получить на уровне DOM и js, ну а дальше обычный Ajax, но в любом случае все это через стандартный <input type='file'/>
...
Рейтинг: 0 / 0
13.11.2012, 20:47
    #38037011
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
На уровне dom и JS можно получить объекты браузера. А как получить файл?
...
Рейтинг: 0 / 0
13.11.2012, 21:18
    #38037041
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Блок А.Н.На уровне dom и JS можно получить объекты браузера. А как получить файл?
мельком глянул код FineUploader, похоже что там все сводится к тому что там все работает по самому простому варианту
создается iframe в нем форма, и туда копируется наше поле с файлом, и эта форма POSTом сабмитится на сервер

но в HTML5 есть уже FileAPI , что позволяет работать с файлами в самом браузере не задействуя сервер, вплоть то модификации изображений, да и всего чего угодно, если сможешь на JS реализовать работу с бинарным файлом.
...
Рейтинг: 0 / 0
14.11.2012, 11:21
    #38037558
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,

я так понял проблему с iPad удалось разрешить? на какой версии iOS ?
залить на сервак удалось только картинку? или другие файлы так же прокатят?
...
Рейтинг: 0 / 0
14.11.2012, 11:35
    #38037583
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
DAiMor,

Хм. Я пробовал изменять значение input type=file и сабмитить, но это не работает.
Про то, что можно создать уже заполненную страницу и сабмитить ее, я даже не подумал.

А выбор нескольких файлов делается как, в общих словах?
...
Рейтинг: 0 / 0
14.11.2012, 11:36
    #38037585
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача файлов на сервер с помощью гиперметода - is it possible?
Ymka2007DAiMor,

я так понял проблему с iPad удалось разрешить? на какой версии iOS ?
залить на сервак удалось только картинку? или другие файлы так же прокатят?

iOS только 6 версии, при нажатии предлагал сфотографировать или выбрать из имеющихся фотографий
вроде как можно поставить тип разрешенных файлов, но я не пробовал, не стал заморачиваться с закидыванием на него других файлов.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача файлов на сервер с помощью гиперметода - is it possible? / 25 сообщений из 51, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]