-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgestionFichier.js
71 lines (63 loc) · 2.21 KB
/
gestionFichier.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
*
* @param {*} baseDesTrianglesFinis
* Cette fonction a pour rôle d'enregistrer un maillage dans un fichier
*/
function persist(baseDesTrianglesFinis)
{
let fileName = document.getElementById("file_name").value;
let xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if(this.responseText == "ok")
{
alert("le fichier de maillage a été crée\n" + "Veuillez le télécharger ici: " + "http://localhost/Maillage/server.php?file="
+ fileName + ".txt");
}else
{
alert("Il semble y avoir un problème de sauvegarde!\n"+ "Message: " +this.responseText);
}
}
};
xhttp.open("POST", "server.php");
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("type=save&base="+JSON.stringify(baseDesTrianglesFinis)+"&name="+fileName);
}
function load()
{
let fileInput = document.getElementById("load_file_input");
let files = fileInput.files;
/* FormData allows us to define key/value pairs representing inputs and their values.*/
/* With FormData, the encoding type is already set to multipart/form-data */
let formData = new FormData();
formData.append("load_file_input", files[0], files[0].name);
/* Faisons une requête POST ajax afin de pouvoir lire le contenu du fichier */
let xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200) {
let response = (isJsonText(this.responseText))?JSON.parse(this.responseText):this.responseText;
if(Array.isArray(response) && response.length > 0)
{
alert("La lecture du fichier a réussi! Le maillage va être afficher.");
dessiner([], response, [], document.getElementById("ecran_domaine"));
show('zoom');
}else
{
alert("Il semble y avoir un problème de lecture ou d'interpretation du contenu du fichier!\n"+ "Message: " +this.responseText);
}
}
}
xhttp.open("POST", "server.php");
xhttp.send(formData);
}
function isJsonText(text)
{
try{
JSON.parse(text);
}catch(e)
{
return false;
}
return true;
}