Initial version
[platform/core/service/cloud/ua-client.git] / content_server / file_upload.html
1 <html>
2 <head>
3 <title>Firmware Uploading Form</title>
4 </head>
5 <body>
6 <h3>Firmware Upload:</h3>
7 Select a file to upload: <br>
8 <!--<form action="file_upload" method="POST" enctype="multipart/form-data" onsubmit="myFunction()" onpagehide="foo()"> -->
9 <form action="/file_upload" method="POST" enctype="multipart/form-data" name="fooo">
10 <input type="file" name="file" id="file" style="width:500px"><br>
11 Manufacturer:<br>
12 <input type="text" name="manufacturer"><br>
13 Model:<br>
14 <input type="text" name="model"> <br>
15 New Firmware Version:<br>
16 <input type="text" name="version" id="version"><br>
17 Priority:<br>
18 <select name="priority">
19   <option value="1">Normal</option>
20   <option value="0">Urgent</option>
21 </select><br><br>
22 <input type="submit" onclick="return sendForm(this.form, 1);" name="upload" value="Full Upload">
23 <input type="submit" onclick="return sendForm(this.form, 2);" name="bsdiff" value="Build Diff"><br><br>
24 Old Firmware Version:<br>
25 <input type="text" name="old_version" id="old_version"><br>
26 <input type="submit" onclick="return sendForm(this.form, 3);" name="diff" value="Diff Upload">
27 </form>
28 <div> </div>RESULT<br>
29 <div id="message" style="background-color:#F5F5F5;width:600px;height:300px;OVERFLOW-Y:auto;word-wrap:break-word"></div>
30 <script>
31 function sendForm(form, formType) {
32    console.log("type:", formType);
33    var formData = new FormData(form);
34    var file_name = document.getElementById('file').value;
35    var version = document.getElementById('version').value;
36    console.log("file:", file_name);
37    var req_msg;
38    if(formType == 1) {
39       formData.append('upload', 1); // Append extra data before send.
40       req_msg = "> Uploading "+ file_name + " started. Please, wait for several minutes." +'\r\n';
41    }
42    else if(formType == 2) {
43       formData.append('bsdiff', 1); // Append extra data before send.
44       req_msg = "> Building diff images based on version "+ version + " started. Please, wait for several minutes. It may takes long time depending on how large image is and how many previous versions are." +'\r\n';
45    }
46    else if(formType == 3) {
47       formData.append('diff', 1); // Append extra data before send.
48       req_msg = "> Uploading "+ file_name + " started. Please, wait a minutes." +'\r\n';
49    }
50
51    var xhr = new XMLHttpRequest();
52    xhr.open('POST', form.action, true);
53
54    xhr.onload = function(e) {
55       var result = "";
56       if (xhr.status == 200) {
57          console.log(this.responseText);
58          if(formType == 1) 
59             result = "> Uploading Complete!"+'\r\n' + this.responseText+'\r\n';
60          else if(formType == 2)
61             result = "> Building Diff Complete!"+'\r\n' + this.responseText+'\r\n';
62          else if(formType == 3)
63             result = "> Uploading Complete!"+'\r\n' + this.responseText+'\r\n';
64       } else {
65          if(formType == 1) 
66             result = "> Error " + xhr.status + " occurred when trying to upload full image." + '\r\n' + this.responseText+'\r\n'; 
67          else if(formType == 2)
68             result = "> Error " + xhr.status + " occurred when trying to build image diff." + '\r\n' + this.responseText+'\r\n';
69          else if(formType == 3)
70             result = "> Error " + xhr.status + " occurred when trying to upload diff image." + '\r\n' + this.responseText+'\r\n';
71       }
72       var div = document.getElementById('message');
73            div.innerText += result;
74            div.scrollTop = div.scrollHeight;
75    };
76
77    var div = document.getElementById('message');
78    div.innerText += req_msg;
79    div.scrollTop = div.scrollHeight;
80  
81    xhr.send(formData);
82    return false; // Prevent page from submitting.
83 }
84
85 function sendDiff(form) {
86    var formData = new FormData(form);
87    var oOutput = document.querySelector("div");
88    formData.append('bsdiff', 1); // Append extra data before send.
89
90    var xhr = new XMLHttpRequest();
91    xhr.open('POST', form.action, true);
92    xhr.onload = function(e) {
93       if (xhr.status == 200) {
94          console.log(this.responseText);
95          oOutput.innerHTML = "Build Diff Complete<br\/>" + this.responseText;
96        } else {
97          oOutput.innerHTML = "Error " + xhr.status + " occurred when trying to build image diff.<br \/>" + this.responseText;
98        } 
99    };
100    xhr.send(formData);
101    return false; // Prevent page from submitting.
102 }
103
104 </script>
105
106 <!--<div id="message" style="background-color:#F5F5F5;width:400px;height:200px;OVERFLOW-Y:auto;word-wrap:break-word"></div> -->
107 </body>
108 </html>