Adobe Flash PDF über Flash downloaden

AL-OSX

AL-OSX

Aktives Mitglied
Thread Starter
Dabei seit
08.03.2004
Beiträge
219
Reaktionspunkte
12
Hallo zusammen!

Hab ein problem: Ich sitz hier gerade an einer Flash-Seite und will dem späteren User anbieten, ein PDF auf seinen Rechner runterzuladen. Wie geht sowas?

Danke, AL
 
PHP:
getURL("http://www.derlink.tld/daspdf.pdf", "_blank");
das schreibst du zu einem button, z.b.
 
Das PDF soll von meinem Rechner geladen werden - ist vermutlich nicht viel anders?
Weißt Du auch, wie ich eine eMail verschicken kann? "mailto:..." ?

Vielen Dank!
 
Hi,

wenn das PDF von deinem Rechner geladen werden soll brauchst du einen Redirector der deine dynamische IP immer aktualisiert.

Gibt es zb bei dydns.org . Außerdem musst du dir dann auch den Apache konfigurieren und immer online sein.

Unter uns… ein recht seltsames Vorhaben. Wofür hast du denn Webspace? ;) Hau die PDF doch dort hin.


Emails versenden (lassen) kannst du entweder mit der getURL() Funktion und dem entsprechendem HTML Tag mailto:… als Parameter. Oder du baust dir ein richtiges Kontaktformular in Flash.

Wie das aussehen könnte:

Die PHP Datei:

PHP:
<?php
$timestamp=date('l, dS of F Y / h:i:s A');
$ip=getHostByAddr($_SERVER['REMOTE_ADDR']);
$msg='
Name: '.utf8_decode($_POST['var_name']).'
Phone: '.utf8_decode($_POST['var_phone']).'
eMail: '.utf8_decode($_POST['var_email']).'
Subject: '.utf8_decode($_POST['var_subject']).'
Message:
'.utf8_decode($_POST['var_message']).'







Browsertype: '.$_SERVER['HTTP_USER_AGENT'].'
Provider: '.$ip.'
Client IP Adress: '.$_SERVER['REMOTE_ADDR'].'
Date/Time:  '.$timestamp.'
';
if(mail(utf8_decode($_POST['recipient']),utf8_decode($_POST['var_subject']),$msg,'FROM:'.utf8_decode($_POST['var_email'])))
    {
    echo'&status=sent';
    }
?>


Und in Flash baust du dir dann ein paar InputFields und bennenst diese und sendest die Daten dann mittels loadVars() Objekt an PHP.

PHP:
//Actionscript

//Funktion die die Emailadresse auf Validität prüft, Beschränkung des Telefonnummernfelds, Anzeige der Korrektheit/Vollständigkeit der Eingaben mittels „Typo Highlighting“

var field=new Array(this.field_name,this.field_email,this.field_phone,this.field_subject,this.field_message);
var designation=new Array(this.name,this.email,this.phone,this.subject,this.message);
var onFocusAlpha=90;
var killFocusAlpha=45;
emailAdressError=function (mail) 
	{
	var badtype=[' '];
	if (mail.indexOf('@')>0 && mail.lastIndexOf('.')>2 && mail.lastIndexOf('.')-1 !== mail.indexOf('@') && mail.length<mail.lastIndexOf('.')+6 && mail.length>mail.lastIndexOf('.')+2) 
		{
		for (var i=0; i<badtype.length; i++) 
			{
			if (mail.indexOf(badtype[i])>0) 
				{
				return true;
				}
			}
        } 
	else 
		{
        return true;
        }
	};
for(var i=0;i<=4;i++)
	{
	switch(i)
		{
		case 0:
			designation[i]._alpha=killFocusAlpha;
			var textfield=field[i];
			textfield.tabIndex=i+1;
			textfield.text='';
			textfield._designation=designation[i];
			textfield.onSetFocus=function()
				{
				this._designation._alpha=onFocusAlpha;
				};
			textfield.onKillFocus=function()
				{
				if(this.text=='')
					{
					this._designation._alpha=killFocusAlpha;
					}
				};
			selection.setFocus(textfield);			
		break;
		case 1:
			designation[i]._alpha=killFocusAlpha;
			var textfield=field[i];
			textfield.tabIndex=i+1;
			textfield.text='';
			textfield.restrict='a-zA-ZäöüÄÖÜ0-9@._\\-';
			textfield._designation=designation[i];
			textfield.onSetFocus=function()
				{
				this._designation._alpha=onFocusAlpha;
				};
			textfield.onKillFocus=function()
				{
				if(emailAdressError(this.text))
					{
					this._designation._alpha=killFocusAlpha;
					}
				};
		break;	
		case 2:
			designation[i]._alpha=killFocusAlpha;
			var textfield=field[i];
			textfield.tabIndex=i+1;
			textfield.text='';
			textfield.restrict='0-9+\\-/() ';
			textfield._designation=designation[i];
			textfield.onSetFocus=function()
				{
				this._designation._alpha=onFocusAlpha;
				};
			textfield.onKillFocus=function()
				{
				if(this.text=='')
					{
					this._designation._alpha=killFocusAlpha;
					}
				};
		break;	
		case 3:
			designation[i]._alpha=killFocusAlpha;
			var textfield=field[i];
			textfield.tabIndex=i+1;
			textfield.text='';
			textfield._designation=designation[i];
			textfield.onSetFocus=function()
				{
				this._designation._alpha=onFocusAlpha;
				};
			textfield.onKillFocus=function()
				{
				if(this.text=='')
					{
					this._designation._alpha=killFocusAlpha;
					}
				};
		break;
		case 4:
			designation[i]._alpha=killFocusAlpha;
			var textfield=field[i];
			textfield.tabIndex=i+1;
			textfield.text='';
			textfield._designation=designation[i];
			textfield.onSetFocus=function()
				{
				this._designation._alpha=onFocusAlpha;
				};
			textfield.onKillFocus=function()
				{
				if(this.text=='')
					{
					this._designation._alpha=killFocusAlpha;
					}
				};
		break;
		}
	}
this.stop();



//Und das hier auf den Button zum abschicken

on(release)
	{
	if ((var_name !=='' && var_message !=='') && !emailAdressError(var_email)) 
		{	
		attachMovie("MacOs", "MacOs_instance",1)
		MacOs_instance.startDrag(true);
		Mouse.hide();
		var sender=new LoadVars()
		sender.object=this;
		sender.recipient=_global.recipient;
		sender.var_name=var_name;
		sender.var_email=var_email;
		sender.var_phone=var_phone;
		sender.var_subject=var_subject;
		sender.var_message=var_message;			
		sender.sendAndLoad('mail.php', sender, 'POST');		
		sender.onLoad=function(success)
			{
			if(success)
				{
				if(this.status=='sent')
					{
					_root.elements.content.mail.mailform_display.gotoAndPlay('valid');
					MacOs_instance.stopDrag();
					MacOs_instance.removeMovieClip();
					Mouse.show();
					delete this.object['sender'];
					}
				}
			};
		}
	else
		{			
		this.mailform_display.gotoAndPlay('invalid');
		}
	}


Ich hab mir das für den aktuellen Auftrag gecodet und kann dir daher die FLA nicht zusenden wegen vertraulicher Kundendaten. Aber das Script ist recht flexibel gehalten, du kannst es gerne für deine Zwecke anpassen und verwenden.

Liebe Grüße

Yves
 
hallo herr nachbar ;)

richtig: button erstellen (schaltfläche) und im scriptfenster
getURL("mailto:name@domain.tld");
zuweisen.

@ yves:
merci mal wieder, von dir hab ich schon richtig viel gelernt! werde dein script auch verwenden...
 
Original geschrieben von xlqr

merci mal wieder, von dir hab ich schon richtig viel gelernt! werde dein script auch verwenden...
&nbsp;


Das freut mich zu hören :)

Liebe Grüße aus Dortmund

Yves
 
Vielen Dank!

Mail ist klar.

Bei dem PDF hab ich mich glaub falsch ausgedrückt - sorry!

Also: Das PDF ist ein Bestellschein, das sich der Kunde runterladen, ausdrucken und durch Fax lassen kann. Das PDF kommt natürlich mit auf den Webspace, liegt im gleichen Ordner wie der Rest. Ich brauch also einen "Download-Button".

@ xlqr: Bist Du echt aus Gom:reng bei Reidlenga? Ich wohn seit vier Wochen auch in Gom:reng/Hinterweiler.
 
Zurück
Oben Unten