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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Feb 2010
Сообщений: 102
По умолчанию Как через as3 выбрать файл и передать его php для загрузки на ftp

Хотелось бы узнать как реализовать сиё безобразие. Мне нужно что бы была флешка с кнопкой "выбрать", после того как нажимаю её, у меня открывается браузер и я через него выбираю файл на ПК, нажимаю "открыть" или "сохранить" и у меня при помощи amfphp передаются данные о том какой файл я выбрал и запускается ф-ция php загружающая файл на localhost(на котором находится мой php файл).

Старый 17.11.2011, 19:11
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Во флеше FileReference.browse ,на php http://www.sephiroth.it/tutorials/fl...php_bytearray/

или без AmfPHP http://help.adobe.com/ru_RU/FlashPla...l#upload%28%29
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 29.11.2011, 21:12
metsys вне форума Посмотреть профиль Отправить личное сообщение для metsys Найти все сообщения от metsys
  № 3  
Ответить с цитированием
metsys

Регистрация: Feb 2010
Сообщений: 102
Делаю следующим образом:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" width="718" height="546"
			   >
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	<s:ComboBox x="167" y="10" id="_slideNumber">
		<s:ArrayCollection>
			<fx:String>Электроотопление</fx:String>
			<fx:String>Электрофурнитура</fx:String>
			<fx:String>Напольные покрытия</fx:String>
			<fx:String>Натяжные потолки</fx:String>
			<fx:String>Греющие стекла</fx:String>
			<fx:String>Светильники</fx:String>
		</s:ArrayCollection>
	</s:ComboBox>
	<s:TextInput x="167" y="41" width="146" id="_pageName"/>
	<s:Label x="10" y="41" text="Page Name" height="22" width="109" verticalAlign="middle"/>
	<s:Label x="10" y="10" text="Choose slide" height="22" width="109" verticalAlign="middle"/>
	<mx:RichTextEditor x="167" y="71" dropShadowVisible="false" width="530" height="248" id="_pageText">
	</mx:RichTextEditor>
	<s:Label x="10" y="71" text="Page text" height="22" width="109" verticalAlign="middle"/>
	<s:Button x="10" y="327" label="Select image"  id="_downloadImage" click="{chooseImage()}"/>
	<mx:Image x="167" y="327" width="260" height="180" id="_imageHolder"/>
	<s:Button x="627" y="515" label="Save" id="_saveButton" activate="false" click="saveData()"/>
 
 
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
 
 
			private var _fr:FileReference=new FileReference();
			private var _ar:Array=new Array();
 
			private function saveData():void
			{
				if(
					_slideNumber.selectedIndex>(-1)
					&&
					_pageName.text.length>0
					&&
					_pageText.htmlText.length>0
					&&
					_fr.data!=null
				  )
				{
 
					var imgUrl:String="http://site.com/flash/SlideGallery/data/images/"+_fr.name;
					_ar=[
									_slideNumber.selectedIndex,		//0
									_slideNumber.selectedItem,		//1
									_pageName.text,					//2
									_pageText.htmlText,				//3
									imgUrl,							//4
									_fr.name						//5
								  ];
					_ar.push(_fr.data);
					Alert.show(String(_ar[6].length), "");
					var gw:NetConnection = new NetConnection();
					var res:Responder = new Responder(resultFunc, faultFunc);
					gw.connect("http://site.com/amfphp/gateway.php");
					gw.call("SlideGalleryAdmin.SaveData_Func", res, _ar);
				}
				else
				{
					Alert.show("Nope!", "Error");
				}
			}
 
 
 
			private function chooseImage():void
			{
				_fr.browse();
				_fr.addEventListener(Event.SELECT, showSelectedPicture);
			}
 
 
 
			private function showSelectedPicture(e:Event):void
			{
				_fr.load();
				_fr.addEventListener(Event.COMPLETE, loadImage);
			}
 
 
 
			private function loadImage(e:Event):void
			{
				var loader:Loader=new Loader();
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
				loader.loadBytes(_fr.data);
			}
 
 
 
			private function imageLoaded(e:Event):void
			{
				var content:* = e.target.content;
				var BMPData:BitmapData = new BitmapData(_imageHolder.width, _imageHolder.height);
				var UIMatrix:Matrix = new Matrix();
				BMPData.draw(content, UIMatrix);
				/*
				var bmd:BitmapData=new BitmapData(_imageHolder.width, _imageHolder.height);
				var rect:Rectangle=new Rectangle(0, 0, _imageHolder.width, _imageHolder.height);
				bmd.setPixels(rect, _fr.data);*/
				_imageHolder.source=new Bitmap(BMPData);
			}
 
 
 
			//Если ответ от сервера не получен - выводим Alert сообщающий об ошибке
			private function faultFunc(responds:Object):void
			{
				Alert.show("F*ck", "Error");
			}
 
 
 
 
			//проверочная ф-ция на то что сервер отвечает
			private function resultFunc(responds:Object):void
			{
				//var arr:Array=responds;
				Alert.show(String(responds), "Message");
			}
		]]>
	</fx:Script>
</s:Application>


php
PHP код:
<?php
    
class SlideGalleryAdmin
    
{
        
        function 
SaveData_Func($ar)
        {
            include (
"Config.php");

            
error_reporting(0);

            
$dbconnect mysql_connect ($host$user$pass);
            
mysql_set_charset("utf8");

            if (!
$dbconnect)
            {
                return 
"Access denide";
            }


            if(@
mysql_select_db($db))
            {
                
$saveData=mysql_query("INSERT INTO
                                            table (`slide_number`, `slide_name`, `page_title`, `page_text`, `page_image_url`)
                                            VALUES
                                            ('"
.$ar[0]."', '".$ar[1]."', '".$ar[2]."', '".$ar[3]."', '".$ar[4]."')");





                
file_put_contents$_SERVER['DOCUMENT_ROOT'] . '/flash/SlideGallery/data/images/' .$ar[5], $ar[6]);
                


                return 
"ok";
            }
            else
            {
                return 
"DB denide";
            }
        }
    }
?>
в итоге на ftp файл размером 0 байт ... что не так?

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

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

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


 


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


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