online img imagen convert codificar base54 json http base64 multipart form-data

json - imagen - img base64



¿Es mejor usar multipart/form-data que JSON+Base64? (1)

Tengo un servidor y necesito cargar archivos junto con algunos campos del cliente al servidor. Actualmente he estado usando multipartes estándar / datos de formulario.

Sin embargo, he encontrado que usar multipart / form-data no es ideal. Los objetos en mi servidor pueden tener otros objetos anidados dentro de ellos y, por lo tanto, se representan como un objeto JSON con otros objetos JSON incrustados.

Me gustaría que el cliente comience a realizar solicitudes POST / PUT utilizando una representación JSON exactamente como lo esperaría en una solicitud GET al servidor, de manera REST-completa. De esta manera no tengo que aplanar los campos que podrían estar anidados en un par de capas dentro del objeto JSON para usar multipart / form-data.

El problema es que JSON no representa datos binarios. Multipart / form-data no parece tener una forma de representar campos anidados dentro de los valores de otros campos. Pero tiene mucho mejor manejo de archivos subidos.

Estoy sin saber cómo diseñar esto. ¿Debo hacer que el cliente cargue JSON con los campos codificados en base64, y obtener el 25% de éxito? ¿O debería hacer que el objeto JSON se represente como una especie de variable "json" en una solicitud Multipart / form-data y que los archivos binarios se carguen como otra variable?


¿Debo hacer que el cliente cargue JSON con los campos codificados en base64, y obtener el 25% de éxito?

El golpe será del 33% ya que 4/3 = 1.33.

¿O debería hacer que el objeto JSON se represente como una especie de variable "json" en una solicitud Multipart / form-data y que los archivos binarios se carguen como otra variable?

Esto debería funcionar.

También podría considerar este enfoque: envíe todos los archivos utilizando varias partes, luego obtenga algunos identificadores de archivos como respuesta. Ponga estos identificadores en su json y envíelos de la manera que desee. Este enfoque podría ser beneficioso si tiene muchos escenarios en los que envía archivos: siempre puede enviarlos al servidor con la misma solicitud y luego obtener sus identificadores; Después de eso haz con ellos lo que más te guste.