- Status Nouveau
- Percent Complete
- Task Type Anomalie
- Category Général → Divers
- Assigned To No-one
- Operating System Tous
- Severity Medium
- Priority Very Low
- Reported Version 4.0.3
- Due in Version Undecided
-
Due Date
Undecided
- Votes 2
- Private
FS#37085 - Impossible d'ecrire sur la box en websocket [qml]
Bonjour,
Impossible d’écrire en websocket un fichier sur le disque dur de la box ( /api/v8/ws/upload ) en effet le websocket de QML ne permet pas de mettre un autre header http ( token d’idendification (X-Fbx-App-Auth) ) .
L’idée serait de mettre le token d’identification dans le payload json OU dans le header pour avoir la compatibilité avec des système restreint et la rétro compatibilité avec vos app actuelles
Sinon avez vous le moyens d’ecrire un fichier dans la box sans passer par un websocket merci
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Bonjour,
Effectivement fonctionnalité manquante. Je serai intéressé pour le même ajout.
merci d’avance
Bonjour
Quand on ne peux pas upload sur un server mais que l'on peut executer des instructions dessus, on pourrait lui faire download ce que l'on voulait upload dessus…
Un call sur l'API "/downloads/add" qui créé une tache download de votre fichier à upload sur la box ferait le travail (fichier qu'il faudra préalablement héberger ailleurs, d'ailleurs c'est même possible de l'héberger sur la box elle-même, par exemple accessible au travers du FTP de la box ou d'un download link fourni par l'api)
Et tout dépend du fichier, on peut écrire un fichier sans passer par les websockets si c'est un fichier type bittorrent ou nzb en faisant un POST avec comme content type : multipart/form-data
Exemple from : "la doc de l'api"
Après, je n'ai pas essayé mais l'API filesystem fourni 'cat' et je n'ai pas essayé mais voir si on peut faire comme sous linux (echo XXX | api_call cat > freebox-local-file)
D'autre part, si vous developpez sous UNIX like, vous pouvez interragir avec les websocket manuellement avec des trucs simple et built-in comme 'echo' ou 'printf'
ouverture d'1 tcp socket
ouverture d'1 pipe de lecture sur le websocket:
écrire dans le 'web'socket
Après la seule véritable difficulté c'est de deal avec la partie "data masking" de la RFC6455:
PS:
je ne suis pas developpeur, et j'ai peut-être une mauvaise compréhension de la problématique ou une vision faussée de ce que l'on peut faire avec les websockets
C'est pourquoi j'essaye de toujours rester le plus proche du shell possible sans utiliser ni external tool ni external lib, dans le but de bypass le type de soucis que vous rencontrez avec QML
N'hésitez pas à reprendre / corriger si je n'ai pas bien compris votre souci
Cordialement
nbanba