From 661aef7ae7ab720c37eb93c34e9b82e8ace87e73 Mon Sep 17 00:00:00 2001 From: Igor Stoppa Date: Mon, 18 Mar 2019 10:17:46 +0200 Subject: [PATCH] Allow specifying the destination path When uploading files, it can be convenient to have a directory structure and to be able to specify where a file should go. Signed-off-by: Igor Stoppa --- webrepl.html | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/webrepl.html b/webrepl.html index 297d97e..3fa8e1e 100644 --- a/webrepl.html +++ b/webrepl.html @@ -58,6 +58,8 @@
Send a file + Destination path +
@@ -85,6 +87,7 @@ var connected = false; var binary_state = 0; var put_file_name = null; +var put_file_path = null; var put_file_data = null; var get_file_name = null; var get_file_data = null; @@ -273,7 +276,9 @@ function put_file() { var dest_fname = put_file_name; + var dest_fpath = document.getElementById('put_filepath').value; var dest_fsize = put_file_data.length; + var dest_full_fname = dest_fpath + '/' + dest_fname; // WEBREPL_FILE = "<2sBBQLH64s" var rec = new Uint8Array(2 + 1 + 1 + 8 + 4 + 2 + 64); @@ -281,12 +286,17 @@ rec[1] = 'A'.charCodeAt(0); rec[2] = 1; // put rec[3] = 0; - rec[4] = 0; rec[5] = 0; rec[6] = 0; rec[7] = 0; rec[8] = 0; rec[9] = 0; rec[10] = 0; rec[11] = 0; - rec[12] = dest_fsize & 0xff; rec[13] = (dest_fsize >> 8) & 0xff; rec[14] = (dest_fsize >> 16) & 0xff; rec[15] = (dest_fsize >> 24) & 0xff; - rec[16] = dest_fname.length & 0xff; rec[17] = (dest_fname.length >> 8) & 0xff; + rec[4] = 0; rec[5] = 0; rec[6] = 0; rec[7] = 0; rec[8] = 0; rec[9] = 0; + rec[10] = 0; rec[11] = 0; + rec[12] = dest_fsize & 0xff; + rec[13] = (dest_fsize >> 8) & 0xff; + rec[14] = (dest_fsize >> 16) & 0xff; + rec[15] = (dest_fsize >> 24) & 0xff; + rec[16] = dest_full_fname.length & 0xff; + rec[17] = (dest_full_fname.length >> 8) & 0xff; for (var i = 0; i < 64; ++i) { - if (i < dest_fname.length) { - rec[18 + i] = dest_fname.charCodeAt(i); + if (i < dest_full_fname.length) { + rec[18 + i] = dest_full_fname.charCodeAt(i); } else { rec[18 + i] = 0; }