Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-03-2009, 11:07   #1 (permalink)
Neuer User
 
Benutzerbild von kaemmi84
 
Registriert seit: Sep 2004
Beiträge: 29
Mein Upload mit der FileReferenceList

Hallo Leute,

habe mir jetzt mal einen multiple file uploader mit Hilfe von Flash gebaut.

Der Upload funktioniert auch soweit einwandfrei. nun hab ich so eine Art rückgabe an den Browser gebastelt mit deren Hilfe ich mir den einzelnen Status der Dateien anzeigen lassen kann.

Nun hackt das Javascript manchmal und das find ich ziemlich unschön vielleicht wisst ihr da ja rat. link -> http://befit.bplaced.net/test/upload.php

Im Flash direkt hab ich nur einen Button mit folgenden Code erstellt:

PHP-Code:
on(release){
    
import flash.net.FileReferenceList;
    
import flash.net.FileReference;

        var 
allTypes:Array = new Array();
        var 
imageTypes:Object = new Object();
        
imageTypes.description="Bilder (*.jpg, *.jpeg, *.gif, *.png)";
        
imageTypes.extension="*.jpg;*.jpeg;*.gif;*.png";
        
allTypes.push(imageTypes);
 

var 
listener:Object=new Object();
listener
listener
.onSelect = function(fileRefList:FileReferenceList)
{
    
trace("selectiert");
    var list:Array=
fileRefList.fileList;
    var 
inhalt:String="";
    var 
groesse:String="";
    var 
item:FileReference = new FileReference();
    
getURL("javascript: rabish();","_self");
    for(var 
i:Number 0i<list.lengthi++){
        
item=list[i];
        
inhalt+=item.name;
        if(
i<(list.length-1)) inhalt+=";";
        
groesse+=String(item.size);
        if(
i<(list.length-1)) groesse+=";";
        
item.addListener(this);
        
item.upload("upload.php");
    }
    
trace(inhalt);
    
trace(groesse);
    
getURL("javascript: add('"+inhalt+"','"+groesse+"');","_self");
    
}
listener.onComplete =function(bild:FileReference)
{
    
getURL("javascript: del('"+bild.name+"');","_self");
}

//var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");
var fileRef:FileReferenceList=new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse(allTypes);

Zur Funktion: die FilerefernceListe erlaubt es mir mehrere dateien mit einmal auszuwählen, nach der Auswahl und dem Klick auf Öffnen, tritt das Ereignis onSelect ein und die Daten werden einzeln per php Upload hochgeladen. Das event onComplete gibt mir anschließend für jede Datei ein Feedback das es hochgeladen wurde.

In den beiden Events wird entweder die Javascript Funktion add oder del angesprochen, wobei add ein div füllt und del die einzelnen statusbalken ausblendet.

Mein Frontend (Javascript) sieht so aus:

Code:
function add(data,groesse)
{
	var text =data;
	document.getElementById('test').innerHTML+=text+'<br>';
//	text = text.replace(" ","");
//	text = text.replace(".jpeg","");
//	text = text.replace(".jpg","");
	teil = text.split(";");
	var text2 =groesse;
	//text2 = text2.replace(" ","");
	var size = text2.split(";");
	for(var i=0;i<(teil.length);i++)
		{
			teil[i] = teil[i].replace(" ","");
			teil[i] = teil[i].replace(".jpeg","");
			teil[i] = teil[i].replace(".jpg","");
			//document.getElementById('test').innerHTML+=teil[i]+'<br>';
			var inhalt='<div id="'+i+'"><img src="layout/bar.gif" width="220" height="19"><br>Upload von '+teil[i]+'.jpg ('+(size[i] / 100)+' KB)<br></div>';
			document.getElementById('fortschritt').innerHTML+=inhalt;
		}
	
	text="";

}
function del(data)
{	
	var teil2 = data;
	teil2 = teil2.replace(" ","");
	teil2 = teil2.replace(".jpeg","");
	teil2 = teil2.replace(".jpg","");
	var j=0;
	for(var i=0;i<(teil.length);i++)
		{
		if	(teil[i]==teil2) 
			{
				j=i;
				document.getElementById('test').innerHTML+=j+' '+teil[i]+'='+teil2+'<br>';
			}
		}
	
	document.getElementById(j).style.display="none";
}

function preload()
{ 
    var bild = new Image;
    bild.src = './layout/bar.gif';
}
Wär echt cool wenn ich das Problem gelösst bekomm und mein Programm rund läuft. Oder kann es sein das es am File Upload limit liegt obwohl ich ja jedes mal die dateien einzeln hochladen tuh? Bedank mich schonmal im Voraus für eure Mühe.

UPDATE:

ich seh grad das mein Script im Internet nicht alle ausgewälten Bilder hochlädt, hier mal das Backend (php):

PHP-Code:
<?php
include_once("class_images_modi.php");
class 
image_batch extends image_modi
{
    
    function 
image_copy($file)
    {
            
$this->dateiname="pic_".md5($file['name'].date("l dS of F Y h:i:s A")).".jpg";
            
copy($file['tmp_name'],$this->ziel.$this->dateiname);

            
$bildinfo=getimagesize($this->ziel.$this->dateiname);
            
$this->bildbreite $bildinfo[0];
            
$this->bildlaenge $bildinfo[1];

    }
    
    function 
image_sw()
    {
            
$bild imagecreatefromjpeg($this->ziel.$this->dateiname);
            for(
$i=0$i<$this->bildlaenge$i++) 
            {
                for(
$j=0$j<$this->bildbreite$j++) 
                {
                    
$pos imagecolorat($bild$j$i);
                    
$f imagecolorsforindex($bild$pos);
                    
$gst $f["red"]*0.15 $f["green"]*0.5 $f["blue"]*0.35;
                    
$farbe imagecolorresolve($bild$gst$gst$gst);
                    
imagesetpixel($bild$j$i$farbe);
                }
            }
            
imagejpeg($bild,$this->ziel.$this->dateiname,90);

    }

}
$bild=new image_batch("./bilder/");
foreach (
$_FILES as $fieldName => $file) {

echo 
$file['name']."<br><br>";
$bild->image_copy($file);
$bild->image_sw();
}
?>
__________________
Schaumschläger ,aller Länder, vereinigt euch DIE SCHAUMSCHLAEGER

Geändert von kaemmi84 (10-03-2009 um 12:15 Uhr)
kaemmi84 ist offline   Mit Zitat antworten
Alt 10-03-2009, 12:30   #2 (permalink)
Neuer User
 
Benutzerbild von kaemmi84
 
Registriert seit: Sep 2004
Beiträge: 29
sry... des doppel posts wegen aber hat da keiner eine idee..oder hab ich einfach zu viel erklärt? ich wollte im prinzip so eine art bilder uploader wie im studi nachbauen...was mir auch teilweise gelungen ist...bitte schaut mal drüber wär sehr wichtig für später webseitenverwaltungen!
__________________
Schaumschläger ,aller Länder, vereinigt euch DIE SCHAUMSCHLAEGER
kaemmi84 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bild, filereferencelist, hochladen, image, upload

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele