PDA

Просмотр полной версии : Flash 8 Upload файлов


SINtez_v
27.04.2006, 20:50
Вот недавно пытался сделать Upload файлов на ПХП что в восьмой версии есть возможность сделать его с помощью непосредственно Flash купил её тоесть перешол с седьмой на восьмую...
сейас вопрос : кто делал или кто знает что и как делается по Uploadu помагите сделать ... поделитесь познаниями...

_kos
27.04.2006, 22:40
В восьмёрке действительно среди tutorials есть пример uploadа файлов на сервер. Я сначала подумал: "...вот она свобода!". Однако потом, копаясь в исходниках, обнаружил ссылку на *.php, так что, чудес не бывает. Что конкретно тебе нужно помочь? Flash, или php?

SINtez_v
27.04.2006, 22:45
А ты его зделал ?
Если можно то всем или чем сможеш потомучто я вообще о этом впервые слышу....

_kos
28.04.2006, 09:31
Upload файлов на сервер с помощью php - ничего особенного. Повторю ещё раз, что конкретно тебе надо flash или php, или "...и то и другое... и можно без хлеба!" :-))

Homo Sapiens
28.04.2006, 15:34
Через FileReference

Homo Sapiens
28.04.2006, 15:35
Я сначала подумал: "...вот она свобода!".
И как ты себе это представлял?

SINtez_v
28.04.2006, 21:27
Вобщем я чтото в поиске нашол чтото на постарониих сайтах...
сделал прописал скриптик пхп в две строчки всё работает... )))
А вдруг ...ПОДУМАЛ Я МакРОМЕДИЯ ещё и скрипт напишет.....

KUZEN
28.04.2006, 22:20
Нашёл выложи что бы другие не искали ...

SINtez_v
29.04.2006, 03:20
полноценный урок:
-----------------
Для начала создадим файл upload.php:
<?php
if ($_FILES['Filedata']['name']) {
$uploadDir = "images/";
$uploadFile = $uploadDir . basename($_FILES['Filedata']['name']);
move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
}
?>


Серверная часть готова – я думаю комментировать код нет смысла. Для тех, кто знает PHP, разобраться с этим скриптом будет несложно, а для кто не знает, просто совет – изучайте PHP :)

Теперь поработаем над интерфейсом.
1. Создаем новый документ во Flash и сохраняем как “fileUpload.fla”.
2. Создаем два слоя action и content
3. В слое content рисуем прямоугольник (который в будущем будет отображать статус загрузки), превращаем в мувиклип и называем rect_mc (имеется в иду Instace Name). Теперь нам нужны две кнопки, одна для выбора файла, другая для загрузки. Не будем долго мучится с с рисованием этих кнопок – возьмем стандартные из набора компонентов. И текстовое поле, которое будет отображать статус файла и сообщении об ошибках.
Дайте всем этим объектам следующие имена:
a. Для текстового поля: Instance name - name_txt
b. Для первой кнопки: Instance name - browse_btn, Label – Browse
c. Для второй кнопки: Instance name - upload_btn, Label - Upload

Ну а теперь самое главное. В слое Action:

// импортируем класс
import flash.net.FileReference;
// инициализируем настройки, кнопку upload_btn, мы отключаем, пока не будет известно имя файла
upload_btn.enabled = false;
// создаем экземпляр класса FileReference
var file_fr:FileReference = new FileReference();
// создаем объект для листнера событий FileReference
var list_obj:Object = new Object();
list_obj.onSelect = function() {
upload_btn.enabled = true;
name_txt.text = file_fr.name;
};
list_obj.onComplete = function() {
name_txt.text = "All Done";
rec_mc.clear();
upload_btn.enabled = false;
};
list_obj.onProgress = function(bytesTotal, bytesLoaded) {
var percent = bytesLoaded/file_fr.size;
drawRec(percent);
};
// если пользователь отменяет загрузку
list_obj.onCancel = function() {
name_txt.text = "Cancel was selected";
};
// если произошла ошибка
list_obj.onIOError = function(fileRef) {
name_txt.text = "IO error with "+fileRef.name;
};
// если произошла ошибка, связанная с безопасностью
list_obj.onSecurityError = function(fileRef, error) {
name_txt.text = "Security error with "+fileRef.name+":"+error;
};
// ошибки протокола
list_obj.onHTTPError = function(fileRef:FileReference, error:Number) {
name_txt.text += "HTTP error: with "+fileRef.name+":error #"+error;
};
// аттачим листнер
file_fr.addListener(list_obj);
//the event for the browse button
browse_btn.clickHandler = function() {
file_fr.browse([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
// событие для кнопки upload
upload_btn.clickHandler = function() {
file_fr.upload("http://localhost/upload.php");
rec_mc.fillColor = Math.random()*0x1000000;
};
// рисуем прямоугольник, отображающий процесс загрузки
function drawRec(per) {
rec_mc.clear();
rec_mc.lineStyle(0);
rec_mc.beginFill(rec_mc.fillColor, 70);
rec_mc.lineTo(per*rec_mc._width, 0);
rec_mc.lineTo(per*rec_mc._width, rec_mc._height);
rec_mc.lineTo(0, 30);
rec_mc.lineTo(0, 0);
rec_mc.endFill();
}

Вот в принципе и все. Данный пример наглядно иллюстрирует как можно файлы, в нашем случае изображения, заливать на сервер… Если Вы хотите использовать этот пример в Сети, не забудьте написать вначале System.security.allowDomain("http://yourdomain/");
Подробности о событиях, методах и свойствах FileReference читайте, напоминаю, в Help-е. Именно там, как нигде, вы получите ответы на все интересующие Вас вопросы.
А так всё работает проверено.
Удачи.:umnik2:

KUZEN
29.04.2006, 14:30
Молодец

tarantas
05.05.2006, 16:33
to sintez_v:
Это ты расписал для 8ого флэша?

Kinsler
05.05.2006, 16:36
2 KUZEN
прям однако его сообщение в урок можно......

SINtez_v
05.05.2006, 17:49
Да всё это рботает в Flash 8