2009-11-13 23 views
1

Cette question fait suite à celle-ci: write binary data using JavaScript on the server.écrire un null en javascript

Le problème ici avec simplement utiliser Response.Write pour écrire la chaîne est que la chaîne contient un caractère nul que JavaScript reconnaît comme la fin de la chaîne.

La chaîne que je suis en train d'écrire commence par ce qui suit (écrit ici dans les codes de caractères)

255 216 255 212 0 16 ... 

JavaScript ne fera que sortie les 4 premiers caractères ici, car il reconnaît le 5ème comme une terminaison de chaîne. Y at-il un moyen de contourner cela?


Je dois souligner que je dois vraiment écrire le binaire nulle ... la sortie de c'est pdf, je ne peux pas changer le format de sortie.

+0

Est-ce que JScript a Response.OutputStream.Write? – Matt

+0

Quelle base de données utilisez-vous? Essayez de donner à la valeur "null" une valeur valide, par exemple "" ou 0 ou peut-être une valeur négative (-1). – MaikL80

+0

Ne pas utiliser une base de données. J'écris des données binaires pour un pdf .... il doit donc être le caractère nul. – alumb

Répondre

0

Qu'en est-il de l'encodage en base 64 des données? Vous devrez le décoder bien sûr.

0

Vous devriez être en mesure de passer un objet nul directement dans la fonction Write et de le faire sortir comme une chaîne vide, il ne devrait y avoir aucune erreur d'exécution. Ainsi, le code suivant ne retournera rien à l'écran:

protected void Page_Load(object sender, EventArgs e) 
{ 
    string str = null; 
    Response.ContentType = "text/plain"; 
    Response.Write(str); 
    Response.End(); 
}