Dateien per Javascript versenden

BlubBlub

Mitglied
Hi, ich wollte mal fragen, ob es mit JavaScript möglich ist Dateien an den Server zu schicken.
Jedoch keine die erst über ein <input type="file"> hochgeladen werden müssen, sondern welche die auf einer Seite sind oder in einem Attachment.
Also generell ist es möglich Dateien über JavaScript zu verschicken?
Denn auf dem folgenden Video sieht man ein JavaScript Programm das Daten verschickt.
Leider ist der Quellcode der für das Senden der Bilder zuständig ist verschleiert.
Und ich kenne bisher nur zwei Methoden wie man überhaupt etwas verschicken kann, die SOP mal jetzt beiseite geschoben, nämlich über ein XMLHttpRequest und über ein Form.

http://www.youtube.com/watch?v=TWrnbcZj4T0&feature=player_embedded
 
Wieso denkst du, dass dort ein Bild via JavaScript versendet wird? Ich gehe davon aus, dass das Bild serverseitig erstellt wird und mit JavaScript lediglich der Bereich gewählt wird.
 
Okay, also nur um es deutlich klarzustellen. Es ist NUR mit JavaScript nicht möglich Dateien zu verschicken?
Gibt es denn noch mehr Verfahren neben dem fom und dem XMLHttp Request Daten zu verschicken?
Können das form und das XMLHttp Request nur Text und XML bzw. JSON Daten versenden oder auch gifs, jpegs, word, excel etc?
 
Okay, also nur um es deutlich klarzustellen. Es ist NUR mit JavaScript nicht möglich Dateien zu verschicken?

Doch, es ist möglich. Aber das kommt ganz darauf an, was du vor hast (und welche Browser benutzt werden sollen). Wenn du eine Datei als Base64 String vorliegen hast, wird JavaScript dich nicht daran hindern, diesen zu versenden. Außerdem ist es möglich das Bild aus einem Canvas-Element zu versenden.

Gibt es denn noch mehr Verfahren neben dem fom und dem XMLHttp Request Daten zu verschicken?

Ja. Die dritte Möglichkeit wäre über die Adresse einer Resource. Die wohl bekannteste Verwendung dieser Methode wäre JSONP. Und hier noch ein kreatives Beispiel: http://nb.io/hacks/csshttprequest
 
Doch, es ist möglich. Aber das kommt ganz darauf an, was du vor hast (und welche Browser benutzt werden sollen). Wenn du eine Datei als Base64 String vorliegen hast, wird JavaScript dich nicht daran hindern, diesen zu versenden. Außerdem ist es möglich das Bild aus einem Canvas-Element zu versenden.
]

Nagut aber das Canvas-Element entfällt für mich als Option, da es erst in HTML5 vorhanden ist, mein Zeugs darf aber keine HTML5 Elemente enthalten.
Okay ich weiß jetzt nicht genau was ein Base64 String ist, aber falls es mir dadurch ermöglicht wird Bilder die in einer Html Seite eingebettet sind zu verschicken, würde ich mich damit tiefergehender befassen, doch bevor ich das tue, würd ich gern wissen, ob ich dies damit schaffe?
 
Kannst du vielleicht konkreter werden? Welchen Sinn sollte es haben, Fotos von einer Webseite zu versenden?
 
Der Sinn ist einfach erklärt.
Oben ist ein Link zu einem Youtube Video, welches den Evernote Clipper vorstellt.
Ich wollte so etwas auch machen und momentan schaffe ich es auch, dass ich markierte Texte verschicken kann. Nur möchte ich auch wie Evernote, Bilder verschicken können.
 
Der Code ist übrigens hier (Wie so auch immer die 40kb nicht komprimiert sind...): http://www.evernote.com/public/bookmarkClipper.js

Ich sehe in dem Video leider nirgendwo ein Bild, dass versendet wird.
Meinst du das Bild von der Couch samt Text?

Teste mal ob das Clippen auch auf Seiten funktioniert, die von außen NICHT erreichbar sind (z.B. Passwortgeschützt). Falls nein, dass ist schon mal sicher, dass es serverseitig passiert.
 
Ja genau das wo die Couch beispielsweise markiert wird.
Ich hab mir den Clipper auch von der Website geholt,
ist nichts weiter als ein Bookmarklet, das man sich in die Lesezeichenleiste ziehen kann.
Natürlich muss man sich vorher aber auch registrieren, weil die Daten auf den
Evernote Server geschickt werden.

Das schicken der Bilder funktioniert auch in geschützten Bereichen.
Ich wäre aber auch erstmal zufrieden wenn es erstmal in nicht geschützten Bereichen funktionieren würde.
Wobei die Bilder die ich bisher aus den geschützten Bereichen geschickt habe, sind eh alle frei zugänglich gewesen, hab bisher kein geschütztes Bild gefunden. Aber wie gesagt mir würde es reichen wenn es nur in nicht geschützten Bereichen funktioniert.

Zumal selbst wenn ich die Bilder aus dem Server heraus holen wollen würde müsste ich erstmal an den Link des Bildes kommen, aber ich hab keine Ahnung wie ich das schaffen soll. Ich weiß zwar wie ich an markierten Text gelange und zwar mit dem document.getSelection() Aufruf aber damit kann man nur markierten Text erfassen und von Bildern den alt Tag aber nicht den src Inhalt, zumindest wüßt ich nicht wie.
 
Zuletzt bearbeitet:
Zurück