Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   PHP as3 индикация загрузки файла (http://www.flasher.ru/forum/showthread.php?t=132535)

Artic 13.11.2009 17:46

PHP as3 индикация загрузки файла
 
собственно такой вот вопрос
загружаю файл через FileReference.data
то есть отсылаю data в PHP

и как бы повесить на это индикатор загрузки ?

код
Код AS3:

var request:URLRequest = new URLRequest(
                        "upload.php?name="+ID+file.name+"&folder="+_pathToPhotoOnServer+"&d="+new Date().getTime());
                        request.data = file.data;
                        request.method = URLRequestMethod.POST;
                        urlLoader.addEventListener(Event.COMPLETE, onServerAnswerGetMenu);
                        request.contentType = 'application/octet-stream';
                        urlLoader.load(request);

PHP код:

<?php
    
    $fileData 
$GLOBALS[HTTP_RAW_POST_DATA];
    
mkdir($_GET['folder']);
    
$fileName ''.$_GET['folder'].'/'.$_GET['name'].'';
    
$fp fopen($fileName"w");
    
fwrite($fp,$fileData);
    
fclose($fp);
    echo 
"file write - OK ".$fileName;
?>


gloomyBrain 13.11.2009 17:51

Может быть так:
Код AS3:

addEventListener(ProgressEvent.PROGRESS, updateMyLoader)

?

Artic 13.11.2009 18:08

нее
1 грузит PHP скрипт а не flash
2 пробовал PROGRESS не срабатывает ^^

gloomyBrain 13.11.2009 18:59

1 - и так понятно =)
2 - должен срабатывать, по крайней мере об этом сказано в help'е

+ из того же help'а:
Цитата:

- Content-Type со значением multipart/form-data
- Content-Disposition, у которого атрибут name имеет по умолчанию значение Filedata, а атрибут filename указывает имя исходного файла.
- Двоичное содержимое файла

kackbip 13.11.2009 19:20

gloomyBrain, URLLoader не диспатчит событие ProgressEvent.PROGRESS, это событие срабатывает при FileReference.upload, но автор не пользуется этим методом, видимо, по причине того, что он модифицирует файл перед отправкой.

Это чтобы брожение остановить. А по теме - не знаю как

gloomyBrain 13.11.2009 19:49

Цитата:

загружаю файл через FileReference.data
то есть отсылаю data в PHP
- вот это я увидел
Код AS3:

urlLoader.addEventListener(Event.COMPLETE, onServerAnswerGetMenu);

- а вот это упустил...
Отсюда и брожения

Цитата:

по причине того, что он модифицирует файл перед отправкой
а какая разница?

Artic 13.11.2009 22:48

эмммм то есть через FileReference.upload можно без PHP скрипта аплодить файлы ? или как ? я все то что нашел про загрузку файлов на сервер то и использую

gloomyBrain 13.11.2009 23:25

Со скриптом, конечно
Просто видно будет сколько отправлено

Artic 13.11.2009 23:46

простой пример можете написать ?

kackbip 14.11.2009 08:47

gloomyBrain, Никто не догнал чего автор хочет :) Ну щас расскажем

Код AS3:

fileReference.addEventListener(ProgressEvent.PROGRESS, onProgress);
fileReference.upload(urlRequest);
function onProgress(evt:ProgressEvent):void{
evt.bytesTotal;
evt.bytesLoaded;
}

Данный подход будет работать, если вам нужно выбрать файл на локальной машине и отправить его на сервер без модификация. Если же вы загружаете файл во флэшку (FileReference.load), модифицируете его FileReference.data и потом хотите отправить на сервер, то тут придется исрользовать URLLoader


Часовой пояс GMT +4, время: 10:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.