Newsgroup: it.comp.lang.javascript
Titolo: [?] BinaryRead()

La domanda č pertinente a JScript piů che a javascript; ci provo lo stesso
perché su icwa non sono afferratissimi in Jscript.
Domanda: trovo dappertutto esempi per salvare un file sul server (usando
BynaryRead per leggere il file passato via form), ma tutto in vbscript.
Dato che voglio usare JScript, qualcuno sa come fare?
BinaryRead funziona ma restituisce un "coso" stranissimo (typeof mi
restituisce unknow, se faccio String(oggetto) mi restituisce uno stranissimo
"oggetto non č una stringa").....
La logica sarebbe: usa BinaryRead e poi "gioca" con l'oggetto restituisce
(in vbscript prende len, cerca il primo acapo etc etc)
Cercando su msdn sembra che restituisca un array di byte...
Se a qualcuno viene in mente un'idea ringrazio

 Se a qualcuno viene in mente un'idea ringrazio
var postData=new VBArray(Request.BinaryRead(Request.TotalBytes))
Guarda un po' che ti sputa fuori.. Poi fammi sapere.
--------------------------------
Inviato via 
http://usenet.libero.it

aaaahhhhhh
adesso ricordo, avevo usato una volta questi convertitori da array vbs a
array js
Stasera ci studio, poi faccio sapere; se riesco a fare il porting posto
Grazie

 Grazie
De nada, purtroppo non ho tempo per dedicarmi a queste cose (tant'e' che
cerco di usare ASP il meno possibile), ma se ne sviluppi uno mi risparmi il
tempo di mettermici io :)


 Stasera ci studio, poi faccio sapere; se riesco a fare il porting posto
Siccome, come mi ricordava Zer0, e' un impegno che ci eravamo presi e che
abbiamo mollato nel dimenticatoio...
Sei riuscito a trattare in js Request.BinaryRead?
- MSDN dice che restituisce un SafeArray di byte
- var pData=new VBArray(Request.BinaryRead(Request.TotalBytes)) risponde:
'VBArray expected' (fanculo a ms e a vbs).
- in vbs vartype(Request.BinaryRead(Request.TotalBytes)) risponde 8209: 8192
(Array) + 17 (Byte).
In jscript il tipo Byte non esiste. Il problema potrebbe essere che non
avviene una conversione automatica del tipo?

Avevo scritto "stasera provo" ma ho un attimino esagerato...
non so quando riuscirò a testarlo (per ora ho risolto tenendo vbs...brrrrr),
diciamo che il primo che ce la fa posta?

 diciamo che il primo che ce la fa posta?
Sicuramente, tempo permettendo of course, ma mi vorrei togliere lo sfizio
anche se non serve quasi piu' a nulla.

 diciamo che il primo che ce la fa posta?
Dubito che io saro' tra questi, in quanto non ho tempo da dedicare a queste
cose. Feci le mie modifiche allo script originale, e quanto mi basta al
momento.. quando devo usare ASP piuttosto che 
ASP.NET
 o PHP.



--------------------------------
Inviato via 
http://usenet.libero.it

 Uhm.. Perche'?
Per non funzionamento e messaggi di errore che ora non ricordo.
Problemi risolti semplicemente piazzando il file vbs in un tag script o
includendolo come file esterno.
Data la solita mancanza di tempo non sono riuscito a crearmi una casistica
degna di considerazione.
Ricordo che in un primo momento ho pensato fosse solo il tipo server (su NT4
ho sempre incluso il file vbs).

Senti che carina questa (presa da un doc di MS di tempo fa a proposito di
BinaryRead):
ASP now supports receiving raw data from a browser as part of a POST
request. This enables browsers to send files to the server. You can
manipulate the data by using an ActiveX component or by using ASP scripts.
The scripting language must support manipulating an array of bytes; note
that neither JScript nor VBScript have this capability.
Ma forse ho trovato un'alternativa.
Se non mi interrompe nessuno provo e posto.

Bellissima, questa me la stampo accanto alle chicche che ho appeso
nell'armadio!
Praticamente lavoro per fornirti un servizio, ma poi non ti dò la
possibilità di usarlo...come sempre, complimenti a mamma microsoft!

 degna di considerazione.
Capisco.. se ti ricapita segnati quanto meno il tipo di errore, pero'. :)


 Stranissimo.
Il problema nasce nel passaggio da jscript a vbscript (lato server,
ovviamente)
Anch'io non ricordo bene la combinata ma ho avuto un paio di volte questo
problema; c'è comunque un caso in cui le variabili globali non vengono
create; potrei ipotizzare che era in presenza di un linguaggio di default
(<%@language='....'%> combinato con uno <script language='JScript'
runat=server> o simile)
Avevo anche trovato ai tempi un doc su msdn che spiegava ciò (e non vi era
soluzione se non modificare lo script)

Ce l'ho quasi fatta!!!
Per ora codice VBS ridotto ad un ciclo for con una riga di codice, tutto il
resto in ASP/JScript senza scomodare oggetti MSXML ne' lato server ne' lato
client.
Soluzione "all js" pronta sulla carta, prevedibilmente piu' pesante
dell'unico ciclo for di cui sopra.

 dell'unico ciclo for di cui sopra.
Mhm, perche'?


 Mhm, perche'?
Perche' alle 3 del mattino mi sono venuti in mente solo "magheggi"
complicati per sopperire all'assenza di AscB e MidB.
Ottimizzazioni nel fine settimana dove credo di potermi ritagliare un poco
di tempo.

Fatta!
E la versione "JScript only", ben lungi dall'essere ottimizzata come codice,
e' una scheggia rispetto alla vecchia soluzione VBScript anche e soprattutto
con file di dimensioni corpose (a occhio upload di 7Mb nella meta' del tempo
in cui l'altro ne butta su 2,5).

...........
...........
(waiting for sorgente).......
...........
...........

 (waiting for sorgente).......
Si, infatti lo aspettavo anche io. Pensavo che postasse un link a seguito
del "Eureka, ce l'ho fatta" :)


> (waiting for sorgente).......
...gli do una forma umana e arriva... don't worry...

> (waiting for sorgente)
Per ora avete in mail la prima stesura.
Saludos

Hai risolto il problema lenb-midb etc scrivendo il binaryread in un file e
rileggendolo, eh?
Furbone...
Forse č per questo che č piů veloce della corrispondente conversione che fai
con vbs?


In verita' quello e' stato l'unico metodo che mi e' (per ora) venuto in
mente per trasformare i byte in stringa.
Quello che incrementa le prestazioni e' che i dati binari non vengono piu'
letti bit a bit e poi riscritti nello stesso modo:
due RegExp per le stringhe, un "puntatore" dello stream per i file.

 Saludos
Ehi calma, è vero che e' passato del tempo, ma vi ho seguiti... e non vedo 
nessun sorgente... 
Andrea il tuo messaggio si chiude con "Saludos" :-O
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----