diff --git a/class/core/files_api.py b/class/core/files_api.py index 939d33d8e..332fb9574 100755 --- a/class/core/files_api.py +++ b/class/core/files_api.py @@ -64,8 +64,13 @@ class files_api: filename = request.args.get('filename', '') if not os.path.exists(filename): return '' + + is_attachment = True + if filename.endswith(".svg"): + is_attachment = False + response = make_response(send_from_directory( - os.path.dirname(filename), os.path.basename(filename), as_attachment=True)) + os.path.dirname(filename), os.path.basename(filename), as_attachment=is_attachment)) return response def zipApi(self): diff --git a/plugins/dynamic-tracking/index.py b/plugins/dynamic-tracking/index.py index fe3dc7022..efae44b55 100755 --- a/plugins/dynamic-tracking/index.py +++ b/plugins/dynamic-tracking/index.py @@ -38,7 +38,7 @@ def getInitDTpl(): def getArgs(): - args = sys.argv[3:] + args = sys.argv[2:] tmp = {} args_len = len(args) @@ -104,6 +104,41 @@ def initdUinstall(): return 'ok' +def get_file(args): + dir_path = getServerDir() + '/trace' + + path = dir_path + '/' + args['file'] + '/main.svg' + + if os.path.exists(path): + d = mw.readFile(path) + return mw.returnData(True, 'ok', d) + else: + return mw.returnData(False, '无效目录') + + +def get_file_path(args): + dir_path = getServerDir() + '/trace' + path = dir_path + '/' + args['file'] + '/main.svg' + if os.path.exists(path): + return mw.returnData(True, 'ok', path) + else: + return mw.returnData(False, '无效目录') + + +def dtGetFilePath(): + args = getArgs() + data = checkArgs(args, ['file']) + if not data[0]: + return data[1] + + dir_path = getServerDir() + '/trace' + path = dir_path + '/' + args['file'] + '/main.svg' + if os.path.exists(path): + return mw.returnJson(True, 'ok', path) + else: + return mw.returnJson(False, '无效目录') + + def dtFileList(): dir_path = getServerDir() + '/trace' if not os.path.exists(dir_path): @@ -118,6 +153,7 @@ def dtFileList(): info = {} try: info['name'] = name + info['abs_path'] = dir_path + '/' + name + '/main.svg' except Exception as e: return mw.returnJson(False, str(e)) @@ -153,5 +189,7 @@ if __name__ == "__main__": print(runLog()) elif func == 'file_list': print(dtFileList()) + elif func == 'get_file_path': + print(dtGetFilePath()) else: print('error') diff --git a/plugins/dynamic-tracking/static/html/index.html b/plugins/dynamic-tracking/static/html/index.html index e991d5992..0437f3b60 100644 --- a/plugins/dynamic-tracking/static/html/index.html +++ b/plugins/dynamic-tracking/static/html/index.html @@ -56,11 +56,23 @@ 火焰图 -