3 Stimmen

Anfragen von Flash für URLs mit + Zeichen in ihnen

Ich hoste Bilder auf Amazon S3 und verwende sie in meiner Flash-Anwendung. Meine Anwendung erhält signierte S3-URLs, die auf die Bilder in S3 verweisen. Die URL sieht in etwa so aus (Zeilenumbrüche zur Verdeutlichung hinzugefügt):

http://s3.amazonaws.com/my-bucket/my-image.jpg?
  AWSAccessKeyId=AKIAI7PSLIMJFIA2JRQG&
  Expires=1313812683&
  Signature=yhnSe47GRjReUQlfG/S/A+JJTdo=

Das Problem liegt hier bei der + Zeichen, die in der Signatur vorkommen können. Wenn ich die + so wie es ist, dann denkt der Browser, dass es ein Leerzeichen ist, wie es nach den URL-Spezifikationen sein sollte. Wirklich, S3 sollte nicht + aus diesem Grund, aber es scheint etwas, das sie übersehen haben .

Normalerweise ist dies kein Problem, da Sie einfach die + Zeichen mit einer %2B . Flash verfügt jedoch über einige Standardfunktionen, die dies erschweren.

Soweit ich das beurteilen kann, ist die URLRequest Objekt wird eingerichtet, um つねに kodiert URLs so, als ob sie durch den encodeURI Funktion. Ich sehe keine Möglichkeit, diese Funktion zu deaktivieren. Leider, encodeURI verschlüsselt nicht + Zeichen, aber es fait verschlüsseln % Zeichen.

Das bedeutet, dass ich, wenn ich die + Zeichen ein, dann lässt Flash es in Ruhe und S3 denkt, ich hätte ein Leerzeichen in meiner URL. Wenn ich %2B dann verwandelt Flash es in %252B durch die Kodierung der % . Puh!

Sieht jemand eine Möglichkeit, die ich übersehen habe?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X