2012-04-03 13 views
0

Ich lade Dateien in einen S3-Bucket mit Javascript und möchte nach dem Upload überprüfen, dass die Datei dort ist, wo sie sein sollte.Wie kann ich überprüfen, ob eine Datei in einer anderen Domäne mit Javascript existiert

Angenommen, ich kenne die genaue URL der Datei (zum Beispiel: https://mybucket.s3.amazon.com/myfile.png) gibt es eine Möglichkeit für mich, die Datei zu "pingen", nur um sicherzustellen, dass es da ist?

Berücksichtigen Sie dies ist Cross-Domain, da die JS überall im Web ausgeführt werden kann, nicht nur auf meiner Website.

Wichtige Hinweise:

  1. ich das Bild nicht einfach laden können (wenn es ein Bild ist), denn das ist der Browser zwingt die gesamte Datei zum Download - Ich will nur „Ping“ es, um sicherzustellen, dass es da ist ... nicht eine 5MB-Datei herunterladen, wenn Sie meine Drift fangen.
  2. Es ist nicht unbedingt ein Bild.

Dank

+0

'img.onLoad', nicht wahr? – c69

+0

Sie können Antworten Header finden Sie diese Frage, wie Sie das tun http://stackoverflow.com/questions/220231/accessing-http-headers-in-javascript –

+0

Sandeep - danke, aber ich habe es schon versucht, es tut es nicht arbeiten, weil es Cross Domain ist. Ich kann kein XMLHTTP-Objekt mit einer Get-Anforderung an Amazon erstellen, da das Skript an verschiedenen anderen Orten ausgeführt wird, und ich möchte auch nicht meine eigenen Server durchlaufen. Das sind mehr Serverkosten, die ich nicht übernehmen kann. –

Antwort

0
function ImgLoad(myobj,sSrc) 
{ 
    var oImg=new Image; 
    oImg.src="http://mydomain.com/images/"+sSrc; 
    oImg.onload=function(){myobj.src=oImg.src} 
    oImg.onerror=function(){alert("error");} 
} 
+0

Danke aber: Wichtige Hinweise: Ich kann nicht einfach das Bild laden (wenn es ein Bild ist), weil das den Browser zwingen wird, die ganze Datei herunterzuladen - ich will nur "ping" es, um sicherzustellen es ist da ... nicht eine 5MB Datei herunterladen, wenn Sie meinen Drift fangen. Es ist nicht unbedingt ein Bild. –

+0

einfach eine Rückgabe false in onload event ... wenn Sie das Bild nicht laden wollen ... Sie werden wahrscheinlich wissen, Dateien gibt es beim ersten Vorkommen der Onload-Funktion – Dasarp

+0

Hmm .. interessant, ich werde es versuchen und zurück zu dir. Obwohl das vermutlich nicht für eine Nichtbilddatei funktioniert. –

Verwandte Themen