Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   FileReference to Base64 (http://www.flasher.ru/forum/showthread.php?t=121791)

Vreden 24.02.2009 00:13

FileReference to Base64
 
Необходимо файл закодировать и отправить на сервер, но дело в том, что до него доходит какя-то мерзость. Не знаю как привильно всё это сделать!

Сорсы:
Код AS3:

var byte:ByteArray = new ByteArray();
byte.writeObject(file);
var code:String = Base64.encodeByteArray(byte);

PHP код:

$file base64_decode($file);
$filename $count.".jpg";
$Ffile fopen($filename'w+');
fwrite($Ffile$file); 

На сервере получается файл размером 1кб. Ну собственно на сервер и приходит строка из нескольких символов.

wvxvw 24.02.2009 00:29

Ну вы потрейсте, чего у вас на выходе (во Флеше) и на входе (в ПХП) - я думаю вопросы сами отпадут...

Vreden 24.02.2009 00:32

есть консоль, показывает что приходит, что уходит, сервер получает нормально все данные, флешка нормально отправляет, но отправляет явно не то....
я ещё не юзал Base64, поэтому тут я не знаю что мне делать....

Может существуют более интересные способы отправки файлов на сервер, юзая AMFPHP?

wvxvw 24.02.2009 00:46

>> Может существуют более интересные способы отправки файлов на сервер, юзая AMFPHP?
Да, естественно. Отправить как ByteArray ничего не кодируя.
>> флешка нормально отправляет, но отправляет явно не то....
Так она нормально отправляет, или не то?

Vreden 24.02.2009 00:49

Цитата:

Сообщение от wvxvw (Сообщение 800540)
Так она нормально отправляет, или не то?

не то...

попробую сейчас не кодировать, но закодированный файл уменьшит траффик на треть как минимум :boredom:

wvxvw 24.02.2009 00:52

>> попробую сейчас не кодировать, но закодированный файл уменьшит траффик на треть как минимум
У вас как вообще с математикой?
Код AS1/AS2:

var s:String = "Man is distinguished, not only by his reason, but by this singular passion from "
s += "other animals, which is a lust of the mind, that by a perseverance of delight in the ";
s += "continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.";
var v:String = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz";
v += "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg";
v += "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu";
v += "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo";
v += "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=";
trace(s.length);
trace(v.length);

269
360

Vreden 24.02.2009 00:53

дайте плиз код, FileReference to ByteArray

Добавлено через 33 секунды
>>У вас как вообще с математикой?

1 в школе была, три класса закончил

wvxvw 24.02.2009 01:02

туториал:
http://www.sephiroth.it/tutorials/fl...php_bytearray/

ЗЫ. http://livedocs.adobe.com/flash/9.0/...loadUnencoded()
Но это в случае с AIR. Если вы делаете для ембед-флешки - тогда FileReference вам не подходит для отсылки.

Alex Lexcuk 24.02.2009 01:28

http://www.flasher.ru/forum/showthread.php?t=121340
http://www.flasher.ru/forum/showthread.php?t=121263

Vreden 24.02.2009 10:32

URLRequest мне не подходит, я юзаю AMFPHP, по сему мне нужно:
FileReferense to Base64, либо FileReferense to ByteArray.
Если FileReferense не подходит, пофиг можно с чем угодно другим, только напишите пример!


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

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