diff --git a/webrepl.html b/webrepl.html
index 297d97e..3fa8e1e 100644
--- a/webrepl.html
+++ b/webrepl.html
@@ -58,6 +58,8 @@
@@ -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;
}