de tamaño aproximado a 1.2M, si la cargo unicamente usando php no existe ningun inconveniente, pero al momento
de cargarla desde flash, por alguna razón no se puede,sin embargo carga imagenes inferiores a 100 kbs.
probe el codigo en nuestro servidor (llamemosle servidor A).
la configuracion de mi servidor está en:
http://www.clinicadelcampestre.com.mx/v2/phpinfo.php
Al tener la opcion de probarlo en nuestro antiguo servior (servidor B) ejecute el mismo codigo y no hubo error
alguno.
la configuracion de mi servidor est· en:
http://70.84.222.181/~clinicad/phpinfo.php
lo primero que pense fuen en las versiones de php, sin embargo en mi servidor local bajo windows tengo
la misma version de php y apache q en mi servidor A y los scripts funcionan perfectamente.
el codigo de prueba del servidor a est· en:
http://www.clinicadelcampestre.com.mx/prueba_correos/deploy2/pcontacto.html
y en el servidor b est· en:
http://wotan.sectorhosting.com/~clinicad/4/pcontacto.html
el error que me manda flash es:
Error #2044: Unhandled IOErrorEvent:. text=Error #2038: File I/O Error.
at quattro::jpgUploader/openFileWindow()
at quattro::jpgUploader()
at pcontacto_fla::MainTimeline/subir_imagen()
El archivo que tengo en los 2 servidores es exactamente el mismo, por lo tanto no creo que sea un problema del código, mas bien quizas alguna configuración que se debe de cambiar.
Código :
// codigo del php
<?php
header("Content-Type: text/html;charset=utf-8");
$nombre = $_POST['nombre'];
$uploadFile = basename($nombre);
move_uploaded_file($_FILES['Filedata']['tmp_name'], utf8_decode($uploadFile));
?>
// clase de as3
package quattro{
import flash.net.FileReference;
import flash.net.FileReferenceList;
import flash.net.FileFilter;
import flash.errors.IllegalOperationError;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.display.Bitmap;
import flash.system.Security;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.EventDispatcher;
import quattro.funciones;
import quattro.config;
public class jpgUploader extends FileReference{
private var fileReference:FileReference;
private var urlRequest:URLRequest;
private var imagesFilter:FileFilter;
public static var CARGADO:String="cargado";
public static var CANCELADO:String ="cancelado";
public function jpgUploader(nombre:String,dir:String):void {
openFileWindow(nombre,dir);
}
private function openFileWindow(nombre:String,dir:String):void {
urlRequest=new URLRequest;
urlRequest.url= "subir_imagenes.php";
imagesFilter = new FileFilter("Fotos (formato jpg)","*.jpg");
urlRequest.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.nombre = nombre;
variables.dir = dir;
variables.nocache = funciones.nocache;
urlRequest.data = variables;
try {
fileReference=new FileReference ;
fileReference.browse([imagesFilter]);
//--- Browse recibe una matriz, en el caso de FileFilter es un arreglo por eso se coloca entre corchetes []
fileReference.addEventListener(Event.SELECT,FileReferenceSelect);
fileReference.addEventListener(ProgressEvent.PROGRESS,onFileProgress);
fileReference.addEventListener(Event.COMPLETE,onFileComplete);
fileReference.addEventListener(Event.CANCEL,onFileCancel);
} catch (illegalOperation:IllegalOperationError) {
// code to handle error
}
}
private function FileReferenceSelect(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + urlRequest.url);
file.upload(urlRequest);
}
private function onFileProgress(event:ProgressEvent):void {
dispatchEvent(event.clone());
}
private function onFileComplete(event:Event) {
dispatchEvent(new Event(jpgUploader.CARGADO));
}
private function onFileCancel(event:Event){
dispatchEvent(new Event(jpgUploader.CANCELADO));
}
} 