Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.03.2009, 15:43
Olban вне форума Посмотреть профиль Отправить личное сообщение для Olban Найти все сообщения от Olban
  № 1  
Ответить с цитированием
Olban

Регистрация: Aug 2008
Сообщений: 15
По умолчанию Upload ByteArray

Интересует, возможно ли реализовать такое:

Открываем файл c помощью FileReference, считываем с него первых 1000 байт, и загружаем c помощью upload(request);
вот как-то так:
Код AS3:
var fileData:ByteArrayAsset = ByteArrayAsset(file.data);
var part:ByteArray = new ByteArray();
fileData.readBytes(part, 0, 1000);
var request:URLRequest = new URLRequest("save-file.php");
part.upload(request);
Нужно загружать upload-ом, поскольку если использовать load, то нет возможности контролировать отправленные байты, соответсвенно нельзя сделать прелоадр.

Старый 27.03.2009, 16:17
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
возможно. только первая строчка не будет работать.

Старый 27.03.2009, 16:44
Olban вне форума Посмотреть профиль Отправить личное сообщение для Olban Найти все сообщения от Olban
  № 3  
Ответить с цитированием
Olban

Регистрация: Aug 2008
Сообщений: 15
Выдает ошибку Call to a possibly undefined method upload through a reference with static type flash.utils:ByteArray.
Хм.. как тогда же подсунуть методу upload бинарные данные?
У меня есть сомнения. upload не позволит подсавить другой тип. Тут нужно, чтобы part был FileReferenc-ом. А перезаписать в file.data тоже не получится, так как оно только для чтения.


Последний раз редактировалось Olban; 27.03.2009 в 16:47.
Старый 27.03.2009, 16:52
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
госпади .. да смотрите же что пишите.
с каких пор в FileReference лежит ByteArrayAsset?
откуда у класса ByteArray метод upload?

я такой фигнёй никогда не занимался, но код, должен быть типа такого:
Код AS3:
		function upload(file:FileReference):void {
			var part:ByteArray = new ByteArray();
			file.data.readBytes( part, 0, 1000 );
			var request:URLRequest = new URLRequest( 'save-file.php' );
			request.method = URLRequestMethod.POST;
			request.data = part; 
			file.upload( request );
		}

Старый 27.03.2009, 17:27
Olban вне форума Посмотреть профиль Отправить личное сообщение для Olban Найти все сообщения от Olban
  № 5  
Ответить с цитированием
Olban

Регистрация: Aug 2008
Сообщений: 15
Ступил) с кем не бывает. В твоем коде после строчки file.data.readBytes( part, 0, 10 ); почему-то не происходит отправка методом upload.

Старый 27.03.2009, 17:58
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 6  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
ну почему она не происходит, я без понятия, так как никогда его не делал. всё дело в последней строчке. с ней и возитесь, или ждите помощи от других.

Старый 27.03.2009, 18:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/FileReference.html#upload()
upload() method
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9
Starts the upload of a file selected by a user to a remote server. [...]
Это значит, что вы не можете отправить произвольные данные - только файл, выбраный пользователем через системный диалог. Если вам нужно отправить данные, которые вы сами скомбинировали - используйте URLLoader / URLStream.
__________________
Hell is the possibility of sanity

Старый 27.03.2009, 19:17
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://help.adobe.com/ru_RU/AS3LCR/F...uest.html#data
Цитата:
Если объект относится к типу ByteArray, то двоичные данные этого объекта используются в качестве данных POST. Данные типа ByteArray не поддерживаются для метода GET. Вдобавок, данные ByteArray не поддерживаются для FileReference.upload() и FileReference.download().
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.03.2009, 19:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Интересно, что будет, если сделать file.data.length = 1000; и отправить…

Старый 27.03.2009, 20:13
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 10  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
__etc, вероятно то что надо

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
bytearray , upload

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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