Tema: fs nodejs
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/09/2013, 10:08
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: fs nodejs

Cita:
Iniciado por zerokilled Ver Mensaje
buenas...
no estoy muy seguro si entiendo la duda. entiendo que requieres guardar ciertos datos en un archivo, pero no tengo claro cuando dices hacerlo con bytes. ¿qué pretendes hacer? ¿guardar los datos en forma binaria? tengo duda si todos los datos se pueden pasar a binario con Buffer y luego escribirlo al archivo, aún no he probado eso. igual, si de una u otra forma se puede hacer con Buffer, pienso que sería un desastre ya que requieres un formato para poder identificar cada cosa. no dudo que sea posible, sino que debes inventarte un formato para darle orden y estructura a los datos. en todo caso, quizas te sirva JSON. pones todos los datos en un objeto y luego lo serializas con JSON.stringify y el resultado lo guardas en el archivo. luego, al leer el archivo pasas el string por JSON.parse para recrear los datos.
Hola el problema es que no se usar json he leído sobre el pero nunca me he puesto a estudiar lo. Lo de inventar me un formato es lo que estoy haciendo y creo que me funcionaria bien aunque tengo algunos problemas que estoy solucionando.
Aqui tengo un ejemplo:

Código Javascript:
Ver original
  1. var points=datos[1]
  2.                     var s='var points=[];';
  3.                     for(i in points){
  4.                         s+='points['+i+']=[];';
  5.                         for(j in points[i]){
  6.                             if(points[i][j]!=undefined){
  7.                                 s+='points['+i+']['+j+']=[]';
  8.                                 for(m in points[i][j]){
  9.                                     var point=points[i][j][m];
  10.                                     if(m==0){
  11.                                         s+='points['+i+']['+j+'].push({shift:'+point.shift+',time:'+point.time+',type:"'+point.type+'"});';//LAST DRAW HERE!!!!!
  12.                                     }else{
  13.                                         s+='points['+i+']['+j+'].push({color:"'+point.color+'",grosor:'+point.grosor+',opacity:'+point.opacity+',type:"'+point.type+'",x:'+point.x+',y:'+point.y+'});';
  14.                                     }
  15.                                 }
  16.                             }
  17.                         }
  18.                     }

datos[3] es un array que contiene otros arrays y al final objetos. Esto lo hace bien. Y luego cuando lo leo pienso crear el array points mediante eval() .
El problema es que no creo que es muy seguro ya que si alguien consigue editar el archivo... ya que no se como comprobar si todos estos datos que me envia el usuario no se han manipulado previamente ya que con un debugger se haría fácilmente.

A si casi se me olvida lo de bytes me refiria binario pero yo también creo que no es posible ya que la longitud de los arrays es aleatoria.

Saludos