J'essaie de sortir un fichier PDF en utilisant le côté serveur javascript (ASP). La méthode actuelle j'utilise est:Ecrit des données binaires en utilisant javascript sur le serveur
xfile=Server.MapPath(lib.fso.GetTempName())
xf=lib.fopen(xfile,"wb");
lib.fwrite(xf,this.buffer);
lib.fclose(xf);
outB = Server.CreateObject("ADODB.Stream")
outB.Type = 1
outB.Open()
outB.LoadFromFile (xfile)
Response.BinaryWrite(outB.Read())
outB.Close()
lib.fso.DeleteFile(xfile);
Cela fonctionne, mais nécessite un accès en écriture sur le serveur. Est-il possible de faire la même chose sans écrire dans un fichier?
Je havn't été en mesure de comprendre comment convertir la chaîne en un this.buffer
array of byte
que je peux alors écrire en utilisant Response.BinaryWrite
sans écrire à un fichier.
Pourriez-vous être plus clair sur "aller tuer votre serveur"? J'ai essayé la méthode Response.write, mais elle a créé des fichiers PDF corrompus. Je soupçonne que cela est dû à la façon dont les images sont codées et la sortie en texte. Je parierais que Response.write fait une sorte d'encodage qui corrompt les données d'image comme il est écrit dans le tampon de sortie. – alumb
voir: http://stackoverflow.com/questions/1732149/writing-out-a-null-in-javascript – alumb