![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 124
|
Всем доброго времени суток. Задался целью создать upload/download через веб сайт, что бы юзеры могли загружать картинки на сервер, а мы могли бы сгружать их от туда.
С вопросом uploada я разобрался, делаю через import flash.net.FileReference; и php скрипт. Вопрос за малым, как сделать что бы при загрузке (download) с сервера при нажатии на кнопу открывалось стандартное окно винды (точно такое же как при upload) указаной папки с файлами на сервере? Пытался найти через Google, только незнаю как запрос сделать. на upload files with Flash все что угодно только не то что нужно. |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 124
|
to MrPoma. Хай. Дело в том что мне нужно "окно" в котором я могу выделить файлы, котоыре я хочу загрузить с сервера. Жесткая привязка к именам файлов здесь не сработает -->
fileRef.download(new URLRequest("myFile.txt"), "myFile.txt") - здесь идет привязка к файлу, а как вызвать стандартное окно винды, такое как при upload? |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 124
|
покопался в справке и нашел FileReference.browse(), FileReferenceList.browse(), но это похоже работает только с FileReference.upload. Можно ли эти методы прикрутить с download?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Окно вызывает browse(), а не upload() и не download(). В последнем случае пользователь указывает, в какую директорию и под каким именем сохранить загружаемый файл.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 124
|
to all. Ok, перефразирую вопрос. Как вызвать список файлов определенной директории на сервере с последующим выбором файла из списка и его загрузкой на компютер пользователя? О как!
![]() Вобщем после долгих исканий и читаний я пришел к этому. import mx.controls.Button;
import mx.controls.Label;
import mx.controls.TextInput;
import mx.controls.ProgressBar;
import flash.net.FileReference;
var eventHandler:Object = new Object();
var chooseFiletoLoad:Object = new Object();
var fileRefListener:Object = new Object();
var fileRef:FileReference = new FileReference();
var fileTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)";
imageTypes.extension = "*.jpg; *.jpeg; *.gif, *.png";
fileTypes.push(imageTypes);
setupInterface();
function setupInterface()
{
this.createClassObject(Label, "urlLabel", this.getNextHighestDepth(), {_x:10, _y:13});
urlLabel.text = "URL";
this.createClassObject(TextInput, "urlInput", this.getNextHighestDepth(), {_x:60, _y:10, _width:450});
urlInput.text = "здесь должно появится имя выбраного файла";
this.createClassObject(Button, "openWindowButton", this.getNextHighestDepth(), {_x:10, _y:100});
openWindowButton.label = "Download";
openWindowButton.addEventListener("click", eventHandler);
this.createClassObject(Button, "chooseFile", this.getNextHighestDepth(), {_x:10, _y:50});
chooseFile.label = "Choose File";
chooseFile.addEventListener("click", chooseFiletoLoad);
this.createClassObject(ProgressBar, "fileTransferProgressBar", this.getNextHighestDepth());
fileTransferProgressBar._x = 120;
fileTransferProgressBar._y = 50;
fileTransferProgressBar.mode = "manual";
fileTransferProgressBar.label = "LOADING %3%%";
fileTransferProgressBar._visible = false;
this.createTextField("feedbackField", this.getNextHighestDepth(), 10, 80, 400, 30);
}
fileRefListener.onOpen = function(file:FileReference)
{
feedbackField.text = "Starting file download.";
fileTransferProgressBar._visible = true;
};
fileRefListener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number)
{
feedbackField.text = "Download in progress";
fileTransferProgressBar.setProgress(bytesLoaded, bytesTotal);
};
fileRefListener.onComplete = function(file:FileReference)
{
feedbackField.text = "Download complete";
fileTransferProgressBar._visible = false;
};
fileRefListener.onIOError = function(file:FileReference)
{
feedbackField.text = "Download failed - disk error";
fileTransferProgressBar._visible = false;
};
fileRefListener.onSecurityError = function(file:FileReference)
{
feedbackField.text = "Download failed - security/permission error";
fileTransferProgressBar._visible = false;
};
eventHandler.click = function()
{
fileRef.addListener(fileRefListener);
fileRef.download(urlInput.text);
}
chooseFiletoLoad.click = function()
{
fileRef.browse(fileTypes);
fileRef.addListener(fileRefListener);
};
Прикрепил основной файл, если кому интересно поковырятся.Последний раз редактировалось solo19770701; 30.08.2008 в 06:08. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А где Вы там нашли про сервер? FileReference.browse() позволяет выбирать локацию только на машине пользователя. А Ваш вопрос перефразировать необходимо так: "Напишите мне РНР-скрипты для загрузки-выгрузки файлов на сервере".
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 124
|
to Wolsh: я уже сам это понял. Скрипт для меня писать не надо. Разобрался с upload, разберусь и с download.
Вопрос за малым, что забить в Google для поиска. На запрос download files from serwer with Flash, выдается всякая ерунда. Может что то типа php and Flash downlosd files, надо продолжить мои искания. |
|
|||||
|
Регистрация: Mar 2004
Адрес: Dnepr, Ukraine
Сообщений: 30
|
По-моему, стандартное окно для выбора файла с сервера ну никак нереально открыть - это ж сервер, а не локальный комп! Я вижу только такой вариант (хотя изврат, на мой-то взгляд))) : написать отдельный скрипт php, который будет присылать тебе список файлов в папке, а ты уже во флэше рисуй это окно, иконки файлов, и по выбору из флэша отправляешь на сервак запрос на скачивание нужного файла, а дальше уже принимаешь его fileReference.download().
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|