diff --git a/api/tfm_api.py b/api/tfm_api.py index 0bcb41b..f2d7825 100644 --- a/api/tfm_api.py +++ b/api/tfm_api.py @@ -276,7 +276,7 @@ class TSession: res = cur.fetchone() file_id = res["f_id"] ext = res["ext"] - file_path = join(conf["Paths"]["Files"], "%s.%s" % (file_id, ext)) + file_path = join(conf["Paths"]["Files"], file_id) move(path, file_path) thumb_path = previewer.get_jpeg_preview(file_path, height=160, width=160) preview_path = previewer.get_jpeg_preview(file_path, height=1080, width=1920) diff --git a/web/static/js/files.js b/web/static/js/files.js index 9f642e9..4b256c3 100644 --- a/web/static/js/files.js +++ b/web/static/js/files.js @@ -17,7 +17,7 @@ function files_load() { success: function (resp) { $("#loader").css("display", "none"); resp.forEach((file) => { - container.append(`
`); + container.append(`
`); }); if (resp.length == 50) { load_lock = false; diff --git a/web/templates/view-file.html b/web/templates/view-file.html index 7006290..08bf63b 100644 --- a/web/templates/view-file.html +++ b/web/templates/view-file.html @@ -7,8 +7,8 @@
- - {{ file['id'] }}.{{ file['extension'] }} + + {{ file['id'] }}
diff --git a/web/tfm_web.py b/web/tfm_web.py index 1e5960f..d6033ee 100644 --- a/web/tfm_web.py +++ b/web/tfm_web.py @@ -401,47 +401,60 @@ def files_delete(): return jsonify({"status": False, "error": str(e).split('\n')[0]}) -@app.route("/static/files/.", methods=["GET"]) -def file_full(file_id=None, ext=None): +@app.route("/static/files/", methods=["GET"]) +def file_full(file_id=None): try: ts = tfm_api.TSession(session.get("id")) except Exception as e: logout() abort(404) try: - if not ts.get_file(file_id): + file = ts.get_file(file_id) + if not file: raise RuntimeError("File does not exist") - return send_file(join(tfm_api.conf["Paths"]["Files"], "%s.%s" % (file_id, ext))) + return send_file( + join(tfm_api.conf["Paths"]["Files"], file_id), + mimetype=file["mime_name"], + download_name=(file["orig_name"] if file["orig_name"] else "%s.%s" % (file_id, file["extension"])) + ) except: abort(404) -@app.route("/static/thumbs/.", methods=["GET"]) -def thumb(file_id=None, ext=None): +@app.route("/static/thumbs/", methods=["GET"]) +def thumb(file_id=None): try: ts = tfm_api.TSession(session.get("id")) except Exception as e: logout() abort(404) try: - if not ts.get_file(file_id): + file = ts.get_file(file_id) + if not file: raise RuntimeError("File does not exist") - return send_file(tfm_api.previewer.get_jpeg_preview(join(tfm_api.conf["Paths"]["Files"], "%s.%s" % (file_id, ext)), height=160, width=160)) + return send_file( + tfm_api.previewer.get_jpeg_preview(join(tfm_api.conf["Paths"]["Files"], file_id), height=160, width=160), + mimetype=file["mime_name"] + ) except: abort(404) -@app.route("/static/previews/.", methods=["GET"]) -def preview(file_id=None, ext=None): +@app.route("/static/previews/", methods=["GET"]) +def preview(file_id=None): try: ts = tfm_api.TSession(session.get("id")) except Exception as e: logout() abort(404) try: - if not ts.get_file(file_id): + file = ts.get_file(file_id) + if not file: raise RuntimeError("File does not exist") - return send_file(tfm_api.previewer.get_jpeg_preview(join(tfm_api.conf["Paths"]["Files"], "%s.%s" % (file_id, ext)), height=1080, width=1920)) + return send_file( + tfm_api.previewer.get_jpeg_preview(join(tfm_api.conf["Paths"]["Files"], file_id), height=1080, width=1920), + mimetype=file["mime_name"] + ) except: abort(404)