Dateiverwaltung für die WebBox
ulrich
2021-01-18 c79727e6e2f717e44d2b8d5a60825db8ed6e5d66
Encoding bei POST
3 files modified
30 ■■■■ changed files
src/java/de/uhilger/filecms/api/FileMgr.java 15 ●●●● patch | view | raw | blame | history
web/ui2/index.html 2 ●●● patch | view | raw | blame | history
web/ui2/js/app.js 13 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/filecms/api/FileMgr.java
@@ -38,8 +38,14 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Arrays;
@@ -59,6 +65,7 @@
import net.coobird.thumbnailator.Thumbnails;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.WildcardFileFilter;
import org.apache.commons.lang.StringEscapeUtils;
/**
 * Methoden zur Verwaltung von Dateien
@@ -196,7 +203,7 @@
        try {
          File targetFile = new File(getTargetDir(relPath), fileName);
          reader = new InputStreamReader(new FileInputStream(targetFile), "UTF8");
          reader = new InputStreamReader(new FileInputStream(targetFile), Charset.forName("UTF-8").newDecoder());
          //reader = new FileReader(targetFile);
          StringBuffer buf = new StringBuffer();
          char[] readBuffer = new char[1024];
@@ -439,9 +446,11 @@
    FileRef savedFile = null;
    try {
      targetFile.createNewFile();
      FileWriter w = new FileWriter(targetFile, Charset.forName("UTF-8"));
      //FileWriter w = new FileWriter(targetFile, Charset.forName("UTF-8"));
      //w.write(StringEscapeUtils.unescapeHtml(contents));
      w.write(contents);
      Writer w = new OutputStreamWriter(new FileOutputStream(targetFile), "UTF-8");
      //w.write(contents);
      w.write(StringEscapeUtils.unescapeHtml(contents));
      w.flush();
      w.close();
      savedFile = new FileRef(
web/ui2/index.html
@@ -2,7 +2,7 @@
<html>
  <head>
    <title>Dateien</title>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <link rel="stylesheet" href="/jslib/codemirror/lib/codemirror.css">        
web/ui2/js/app.js
@@ -825,7 +825,14 @@
    }
    var m = '?c=de.uhilger.filecms.api.FileMgr&m=' + method;
    var u = '../svc' + m;
    var data = '&p=' + self.pfad + '&p=' + saveFileName + '&p=' + encodeURIComponent(content);
    //var data = '&p=' + self.pfad + '&p=' + saveFileName + '&p=' +
    //        encodeURIComponent(content);
    var data = '&p=' + self.pfad + '&p=' + saveFileName + '&p=' +
            encodeURIComponent(content);
    // '{"foo": "bar"}'
    //var data = '{"p1": "' + self.pfad + '", "p2": "' + saveFileName +
    //        '", "p3": "' + encodeURIComponent(self.escapeHtml(content)) + '"}';
    self.fm_post(u, data, "text", function(resp) {
      // ...
    });
@@ -920,7 +927,7 @@
      }
    });
    //cm.setValue(htmlDecode(content));
    //cm.setValue(content);
    //self.cm.setValue(content);
    self.cm.setValue(self.unescapeHtml(content));
    self.cm.getDoc().markClean();
    self.cm.on("gutterClick", function(theEditor, lineNumber) {
@@ -1175,7 +1182,7 @@
      }
    };
    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
    xmlhttp.send(d);
  };