Toon posts:

[Flash MX en blob] binair een plaatje inladen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een cms gemaakt in asp, daarmee kun je oa plaatjes uploaden in de database. Nu wil ik die plaatjes in flash inladen.Ik had het volgende gevonden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MovieClip.prototype.loadjpg = function(picName, holderName) {
    // holderName can be passed in case needed for progress indicator
    // if not passed, use 'holder' as default
    var h = holderName == undefined ? "holder" : holderName;
    this.createEmptyMovieClip(h, 1);
    this._visible = false;
    this[h].loadMovie(picName);
    var id = setInterval(function (mc) { if (mc[h].getBytesLoaded()>1 && mc[h].getBytesLoaded()>mc[h].getBytesTotal()-10 && mc[h]._width>0) {mc._alpha = 99;clearInterval(id);mc._visible = true;mc.onComplete();} else {mc.onLoading();}}, 80, this);
};
_global.picLoaded = false;


function setIt() {
    this._x = 222;
    this._y = 46; 
}
    this.createEmptyMovieClip("jumpman", 100);
    jumpman.onComplete = setIt;
    jumpman.loadjpg("/getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1");
    //jumpman.loadjpg("/fotos/A_1.jpg");
    picLoaded = true;
    jumpman._visible = true;

Als ik dit doe
code:
1
jumpman.loadjpg("/fotos/A_1.jpg");

dan werkt het, als ik dit doe
code:
1
jumpman.loadjpg("/getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1");

dan doet hij het niet. getthumb.asp is een bestandje die een jpg schrijf, mbv contentype.

iemand enig idee hoe te werken met blobs en flash.

  • Sn3akz
  • Registratie: November 2000
  • Laatst online: 31-01 20:37
Als je het adres van het plaatje (jedomein/getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1) in je browser intyped krijg je wel gewoon het plaatje??

Verwijderd

Topicstarter
jep :)

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Veel kans dat er iets mis is met je http-headers

[ Voor 6% gewijzigd door GrimaceODespair op 09-05-2003 16:24 ]

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Topicstarter
Ik heb het volgende in de getthumb.asp staan:
code:
1
Response.ContentType = "image/jpeg"

dat is ASP, misschien past dit topic dan beter bij P&W

Verwijderd

Probeer eens dit:

code:
1
jumpman.loadjpg("/getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1&bullshitext=.jpg");

Verwijderd

Topicstarter
Nee dat werkt niet, het content type is al jpg. Hij doet het schrijf het binair.

In html zou het zo werken:
code:
1
[img]"getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1"[/img]

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Enneuh, mss ook nog een random stukje in de querystring stoppen om de cache zeker te omzeilen?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Verwijderd schreef op 09 mei 2003 @ 16:32:
Nee dat werkt niet, het content type is al jpg. Hij doet het schrijf het binair.
[/code]
Maar heb je het geprobeerd? Want iets zegt me dat B-top hier ooit al tegenaan is gelopen :)

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

GrimaceODespair schreef op 09 mei 2003 @ 16:34:
[...]
Maar heb je het geprobeerd? Want iets zegt me dat B-top hier ooit al tegenaan is gelopen :)
Zeker weten :)

Verwijderd

Topicstarter
Hij kijk naar het record waar het bij hoort, dan is eigenlijk het enige wat hij doet:
code:
1
2
Response.ContentType = "image/pjpeg" 
Response.BinaryWrite rstmp(veldnaam).Value

Bij mij zit er nog een component tussen die de maten netjes aanpast e.d. maar daar zal ik jullie niet mee vermoeien.
Kan het niet zijn dat hij niet weet wat het aantal bytes is en daarom het niet weergeeft. Ik krijg ook geen foutmelding oid. Dus blijkbaar kan hij het plaatje wel vinden.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Zeg nou even of je B-tops tip geprobeerd hebt, dan weten we dat tenminste.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Flash geeft op een jpg idd het aantal bytesloaded niet terug.
Wat je dan moet doen is een lege movieclip maken die als 'holder' fungeert, en vervolgens daarop inladen. Dan kan je van die mc het aantal bytesloaded terug krijgen.

Verwijderd

Topicstarter
Ik heb het van B-tops geprobeerd, maar geen success. :(

Verwijderd

Check mijn vorige post.

Verwijderd

Topicstarter
Ik maak toch een lege movieclip aan met de naam jumpman?
Of zie ik dat verkeerd.
code:
1
2
3
4
5
6
this.createEmptyMovieClip("jumpman", 100);
    jumpman.onComplete = setIt;
    jumpman.loadjpg("/getthumb.asp?Id=1&table=Portfolio&veldnaam=afbeelding1");
    //jumpman.loadjpg("/fotos/A_1.jpg");
    picLoaded = true;
    jumpman._visible = true;

Verwijderd

Lol, ik kijk naar je code, en zie deze tutorial :

http://actionscript-toolbox.com/samplemx_loadjpg.php

LOL! :)

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

En als je die jpg direct nadat je hem genereert, wegschrijft (nog altijd met ASP) en die weggeschreven versie opvraagt, wat doet ie dan?

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Topicstarter
Dat klopt ook daar heb ik het vandaan. :)
Maar daar gebruiken ze een vast plaatje en ik een blob of in access ole object.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

en je weet zeker dat je gegenereerde jpg niet progressive is ?

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Topicstarter
Als ik hem wegschrijf als jpg doet hij het wel. Maar dat was niet de bedoeling, anders zou ik hem niet in een database stoppen.

Hij zou progressive kunnen zijn, wat is dat?

Verwijderd

De manier hoe de jpg encoded is.

Verwijderd

Topicstarter
Hoe zou ik dat uit kunnen vinden?

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Flash kan geen progressive JPG aan, maar als hij wel werkt als je hem wegschrijft, zal hij toch niet progressive zijn.

Het enige dat ik nog kan bedenken is een header-probleem. Je zou moeten achterhalen welke headers lash binnenkrijgt bij een werkende situatie, en welk bij de foute situatie.

Ik gebruik daar wel eens Achilles voor, maar die link is dood. Misschien slingert hij hier nog wel rond. Laat maar weten als je hem nodig hebt.

[ Voor 63% gewijzigd door GrimaceODespair op 09-05-2003 17:14 ]

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Topicstarter
Is dit niet:
Response.ContentType = "image/pjpeg"
je kunt ook kiezen voor
Response.ContentType = "image/jpeg"
ik neem aan dat de p voor progressive staat.
In het tweede geval doet hij het ook niet.

Verwijderd

Dat het contenttype niet pjpeg is, betekent niet dat dat het geen pjpeg is.

Verwijderd

Topicstarter
Ik heb maar even de boel online gezet, misschien kan iemand mij vertellen wat flash niet leuk vind aan mijn afbeelding.
http://www.freephoto.nl/t...olio&veldnaam=afbeelding1

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Soms lijk je een beetje eigenwijs. Als je nou het verschil in headers bekijkt tussen een geslaagde en een falende situatie, dan zou je iig kunnen uitsluiten (of besluiten) dat het daaraan ligt.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

GrimaceODespair schreef op 09 May 2003 @ 17:35:
Soms lijk je een beetje eigenwijs. Als je nou het verschil in headers bekijkt tussen een geslaagde en een falende situatie, dan zou je iig kunnen uitsluiten (of besluiten) dat het daaraan ligt.
???

Verwijderd

Topicstarter
Misschien niet zo eigenwijs, ik zou niet weten hoe ik dat moet doen. Wat ik eigenlijk wel zou moeten weten natuurlijk.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Als hij een jpg-bestand binnenhaalt via de 'normale' manier, lukt het wel. Via zijn ASP lukt het niet. Hoogst waarschijnlijk zit er een verschil in headers tussen deze twee. Als hij dus achterhaalt wat dat verschil is, dan kan hij in ASP het headergebruik van de 'normale' situatie simuleren. Als het dan nog niet werkt, weet hij iig dat het daar niet aan ligt.

Of zeg ik nou iets heel dom?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Verwijderd schreef op 09 May 2003 @ 17:38:
Misschien niet zo eigenwijs, ik zou niet weten hoe ik dat moet doen. Wat ik eigenlijk wel zou moeten weten natuurlijk.
Je zou bv serverside uitgaande requests kunnen loggen.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Ik heb altijd geleerd dat het niet de bedoeling is om een DB als file system voor je website te gaan gebruiken....maja, da's nogal [OT]

Verwijderd

Topicstarter
Bedoel je request servervariables?
of op de server zelf.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Lang geleden dat ik nog ASP heb gedaan. Ik weet niet of er een mogelijkheid bestaat om bv IIS zelf de headers te laten loggen van uitgaand verkeer. Anders moet je es in P&W proberen ;)

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • tomato
  • Registratie: November 1999
  • Niet online
Hier heb je de headers die je stuurt met het plaatje uit de database:
code:
1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Fri, 09 May 2003 16:20:20 GMT
Connection: keep-alive
Connection: Keep-Alive
Content-Length: 15609
Content-Type: image/jpeg
Set-Cookie: ASPSESSIONIDSSSQBRDS=BGIFCLDDPCGFLGINPEJBBIAD; path=/
Cache-control: private

Je geeft geen url naar het plaatje direct op de webserver, maar als ik hetzelfde plaatje op een eigen webserver binnenhaal krijg ik deze headers:
code:
1
2
3
4
5
6
7
8
9
10
HTTP/1.1 200 OK
Date: Fri, 09 May 2003 16:10:44 GMT
Server: Apache/1.3.27 (Unix) [blaat] OpenSSL/0.9.7a
Last-Modified: Fri, 09 May 2003 16:10:29 GMT
ETag: "167811-3cf9-3ebbd2f5"
Accept-Ranges: bytes
Content-Length: 15609
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: image/jpeg

De extra ETag, Last-Modified, Accept-Ranges en Keep-Alive headers maken denk ik niets uit. Ik zie wel dat je twee Connection headers hebt, keep-alive met kleine letter kan volgens mij gewoon vervallen.

De Content-type headers komen overeen, evenaals de Content-Length headers, daar zit dus geen probleem.

Ik heb geen verstand van Flash MX, maar ik zie hier 4 mogelijke oorzaken:

* Je zet een cookie, misschien kan Flash MX daar niet tegen
* Flash MX wil een expliciete .jpg aan het eind van de URL (heb je dat nou getest?)
* De dubbele Connection header?
* Iets anders :)

[ Voor 6% gewijzigd door tomato op 09-05-2003 18:21 ]


Verwijderd

Topicstarter
Phoeh.. ik ben eruit hoor,
Stom stom stom stom stom...
In de link die ik gebruikte zat nog een logincheck.
Dus hij redirecte naar een login pagina.

In ieder geval bedankt en ik ga even een tijdje met mijn kop tegen de muur bonken.

  • tomato
  • Registratie: November 1999
  • Niet online
Dit had je gelijk gezien als je even handmatig het resultaat van je request had bekeken, bijvoorbeeld met wget (gebruik --save-headers om ook headers te zien)...

Verwijderd

Topicstarter
Ok dan weet ik dat voor de volgende keer. ik zal even kijken wat de wget functie doet en hoe die werkt. Daar had ik nog nooit van gehoort namelijk.

Verwijderd

Mijn god....ik doe het wel voor je.

|:( 8)7 |:( 8)7 |:( 8)7 |:( 8)7 |:( 8)7 |:( 8)7 |:( 8)7 |:( 8)7
Pagina: 1