Puntos de conexión de almacenamiento LDWS
13 min
get /v1/files/\ path/ enumera directorios y archivos en la ruta solicitada segmento \ path \<font color="#704ae0">string\</font> la ruta a los directorios o archivos parámetro de query string crudo \<font color="#01a0af">optional\</font> si la ruta es para un dispositivo de almacenamiento, esto devolverá su contenido sin procesar por ejemplo, la siguiente solicitud sería get /api/v1/files/sd/?raw contenido \<font color="#01a0af">optional\</font> si se especifica un archivo, esto devolverá el contenido de ese archivo ejemplo de solicitud los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera \ path se establece en /sd/autorun brs/ get /api/v1/files/sd/autorun brs/ http/1 1 host {{playerip}} authorization {{digestauth}} accept application/json descarga de un archivo desde el almacenamiento del reproductor para descargar directamente un archivo desde el almacenamiento del reproductor, agregue ?contents\&stream al final de la url aquí hay un flujo de trabajo de ejemplo (suponiendo una url base de http //192 168 0 00/api/v1 ) cree una instantánea en la tarjeta sd bajo remote snapshots usando post /v1/snapshot la respuesta será el nombre de la instantánea (por ejemplo, img 2021 12 29 10 49 27 jpg ) para descargar directamente la instantánea creada en el reproductor get http //192 168 0 12/api/v1/files/sd/remote snapshots/img 2021 12 29 10 49 27 jpg?contents\&stream si introduce solo ?contents , obtendrá el archivo en codificación base64 cuerpo de la respuesta este método devuelve los metadatos de un directorio o archivo (suponiendo que el parámetro de query string crudo no esté configurado) nombre \<font color="#704ae0">string\</font> nombre del directorio o archivo tipo \<font color="#704ae0">string\</font> ya sea un directorio o un archivo ruta \<font color="#704ae0">string\</font> la ruta, por ejemplo, "sd" mimo \<font color="#704ae0">string\</font> tipo mime (disponible solo para el tipo "file") estadística \<font color="#704ae0">object\</font> estadísticas del directorio del módulo "fs" tamaño del archivo \<font color="#704ae0">int\</font> el tamaño del sistema de archivos streamable \<font color="#704ae0">bool\</font> esto siempre es verdadero para archivos si la ruta es un directorio, esto no se devuelve contenido \<font color="#704ae0">string\</font> el contenido del archivo especificado ejemplo de respuesta { "data" { "result" { "name" "sd/autorun brs", "type" "file", "path" "sd/autorun brs", "mime" "application/octet stream", "stat" { "dev" 45921, "mode" 33277, "nlink" 1, "uid" 0, "gid" 1003, "rdev" 0, "blksize" 32768, "ino" 40, "size" 1144340, "blocks" 2240, "atimems" 1699401600000, "mtimems" 1699423824000, "ctimems" 1699423824440, "birthtimems" 0, "atime" "2023 11 08t00 00 00 000z", "mtime" "2023 11 08t06 10 24 000z", "ctime" "2023 11 08t06 10 24 440z", "birthtime" "1970 01 01t00 00 00 000z" }, "filesize" 1144340, "streamable" true } } } ejemplo de respuesta al devolver el contenido del archivo tenga en cuenta que una vez que tenga la cadena de datos, tendrá que decodificarla (por ejemplo, con el método atob en javascript) { "data" { "result" { "mimetype" null, "name" "autorun brs", "contents" "tglicmfyesaiyxv0b3b \<very large data string> " } } post /v1/files/\ path/ cambia el nombre de un archivo en la ruta (que debe incluir el nombre del archivo) segmento \ path \<font color="#704ae0">string\</font> la ruta a un archivo cuerpo de la solicitud nombre \<font color="#704ae0">string\</font> el nuevo nombre del archivo ejemplo de solicitud los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera \ path se establece en /sd/test txt/ post /api/v1/files/sd/test txt/ http/1 1 host {{playerip}} authorization {{digestauth}} accept application/json content type application/json content length 21 este es el cuerpo de la solicitud de ejemplo "name" "newname txt" respuesta el reproductor devolverá un mensaje de éxito \<font color="#15803d">200\</font> o un mensaje de error \<font color="#b91c1c">404\</font> o \<font color="#b91c1c">500\</font> cuerpo de la respuesta exitosa { "data" { "result" { "success" true } } } put /v1/files/\ path/ carga archivos o crea directorios el cuerpo de la solicitud debe ser de tipo multiparte / datos del formulario (consulte rfc 7578 https //datatracker ietf org/doc/html/rfc7578 ) si agrega uno o más parámetros de tipo archivo (el nombre del parámetro no importa), cargará los archivos seleccionados para crear un directorio, elimine el datos del formulario del cuerpo y agregue el directorio como parámetro url, \ path consulte el ejemplo a continuación segmento \ path \<font color="#704ae0">string\</font> la ruta es la carpeta en la que desea cargar el archivo cuerpo de la solicitud los archivos como form data, como se muestra en el ejemplo siguiente ejemplo de solicitud (archivo) los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera ruta se establece en sd put /api/v1/files/sd/ http/1 1 host {{playerip}} authorization {{digestauth}} content length 227 content type multipart/form data; boundary= webkitformboundary7ma4ywxktrzu0gw \ webkitformboundary7ma4ywxktrzu0gw content disposition form data; name="file"; filename="/path/to/file/test txt" content type text/plain (data) \ webkitformboundary7ma4ywxktrzu0gw cuerpo de la respuesta éxito \<font color="#704ae0">bool\</font> un indicador que señala si la operación se realizó correctamente o no resultados \<font color="#704ae0">string\[]\</font> los nombres de los archivos que se crearon correctamente ejemplo de respuesta (archivo de texto sin formato) { "data" { "result" { "success" true, "results" \[ "test txt" ] } } } ejemplo de solicitud (carpeta) put /api/v1/files/sd/testfolder/ host {{playerip}} authorization {{digestauth}} accept application/json, application/vnd bsn error+json ejemplo de respuesta (carpeta) { "data" { "result" { "success" true } } } delete /v1/files/\ path/ elimina un archivo o directorio segmento \ path \<font color="#704ae0">string\</font> la ruta al archivo o directorio ejemplo de solicitud los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera \ path se establece en sd/test txt delete /api/v1/files/sd/test txt/ http/1 1 host {{playerip}} authorization {{digestauth}} accept application/json respuesta el reproductor devolverá un mensaje de éxito \<font color="#15803d">200\</font> o un mensaje de error \<font color="#b91c1c">404\</font> o \<font color="#b91c1c">500\</font> cuerpo de la respuesta exitosa { "data" { "result" { "success" true } } } put /v1/storage/encryption/ cifra el almacenamiento multimedia seleccionado tenga en cuenta que reformatear el dispositivo de almacenamiento borrará su contenido este endpoint está disponible en bos versión 9 0 197 y posteriores cuerpo de la solicitud filepath \<font color="#704ae0">string\</font> \<font color="#01a0af">required\</font> la ruta al almacenamiento multimedia (por ejemplo, “/sd”) configuración \<font color="#704ae0">object\</font> tipo \<font color="#704ae0">string\</font> \<font color="#01a0af">required\</font> el método de cifrado las opciones son ‘brightsign key' , 'unique key' , 'contraseña' , y 'ninguno' las opciones se asignan a personalizacióndedispositivo storageencryptionoptions docid\ vfnnfgabia9qkwalyidpu ( 'brightsign key' es "brightsign key" , 'unique key' es "generate key" , 'contraseña' es "frase de contraseña" 'ninguno' es "ninguno" ) contraseña \<font color="#704ae0">string\</font> \<font color="#01a0af">optional\</font> la contraseña utilizada para cifrar el almacenamiento de medios, si existe este campo es obligatorio si settings type es “contraseña“ formato \<font color="#704ae0">bool\</font> \<font color="#01a0af">optional\</font> indica si el dispositivo de almacenamiento debe reformatearse o no de forma predeterminada, el almacenamiento se reformateará doprovision \<font color="#704ae0">bool\</font> \<font color="#01a0af">optional\</font> indica si el reproductor debe aprovisionarse automáticamente con bsn cloud de forma predeterminada, el reproductor no se aprovisionará automáticamente ejemplo de solicitud los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera put /api/v1/storage/encryption/ http/1 1 host {{playerip}} authorization {{digestauth}} accept application/json este es el cuerpo de la solicitud de ejemplo { "filepath" "/sd", "settings" { "type" "password", "password" "abc", "format" true, "doprovision" true } } cuerpo y ejemplo de respuesta exitosa éxito \<font color="#704ae0">bool\</font> indica si el cifrado se realizó correctamente o no reiniciar \<font color="#704ae0">bool\</font> indica si el reproductor se reiniciará o no { "data" { "result" { "success" true, "reboot" false } } } cuerpo y ejemplo de respuesta de error error \<font color="#704ae0">string\</font> cualquier mensaje de error asociado con la operación { "data" { "error" { "status" 400, "message" "storage is already encrypted please decrypt it first " } } }