Показать сообщение отдельно
Старый 13.02.2014, 14:45
Probity вне форума Посмотреть профиль Отправить личное сообщение для Probity Посетить домашнюю страницу Probity Найти все сообщения от Probity
  № 2  
Ответить с цитированием
Probity

Регистрация: Jan 2010
Сообщений: 69
Отправить сообщение для Probity с помощью Skype™
Должен быть подключен Vk Api к флэшке и авторизован пользователь. Так реализуется отправка файла Вконтакте в моем приложении:

Код AS3:
VK.api('photos.getWallUploadServer',{ uid:  userid },responseFromServer,onError);
userid - номер пользователя (можно получить через friends.get). Если не указано - постит на стенку пользователя. Если постить в группу, то gid: группа.

Для загрузки картинки я использовал класс MultipartURLLoader. Скачать например тут. Ему передаем файл картинки в ByteArray.

Код AS3:
function responseFromServer(data)
		{
			mll = new MultipartURLLoader();
			mll.addEventListener(Event.COMPLETE, onUploadCompleteThroughAlarm);
			mll.addFile(byteArray, "file.jpg", "file1", 'image/jpg');
			mll.load(data.upload_url);
		}
Картинка загружена Вконтакте. Теперь сохраняем её на стену пользователю.

Код AS3:
function onUploadCompleteThroughAlarm(e:Event)
		{
			var answer:String = mll.loader.data;
			var data:Object = JSON.parse(answer); 
			VK.api('photos.saveWallPhoto', {uid: userid, server:data.server, photo:data.photo, hash:data.hash }, onSaveWallPhoto, onError2);
}
Если картинка не сохраняется (например, не берется её ByteArray), то есть большая вероятность, что нарушены правила безопасности флэша.