浏览代码

修复save时的url找不到的问题,修改上传后的文件名的默认时间戳后缀

wangxq 1 月之前
父节点
当前提交
1d82f506c3
共有 2 个文件被更改,包括 16 次插入9 次删除
  1. 15 8
      app/api/meta_data/routes.py
  2. 1 1
      app/core/meta_data/meta_data.py

+ 15 - 8
app/api/meta_data/routes.py

@@ -265,7 +265,7 @@ def unstructure_text_query():
             return jsonify(failed("节点不存在"))
             
         # 获取对象路径
-        object_name = node_data.get('objectName')
+        object_name = node_data.get('url')
         if not object_name:
             return jsonify(failed("文档路径不存在"))
             
@@ -310,8 +310,15 @@ def upload_file():
         file_size = len(file_content)
         file_type = file.filename.rsplit('.', 1)[1].lower()
         
+        # 提取文件名(不包含扩展名)
+        filename_without_ext = file.filename.rsplit('.', 1)[0]
+        
+        # 生成紧凑的时间戳 (yyyyMMddHHmmss)
+        import time
+        timestamp = time.strftime("%Y%m%d%H%M%S", time.localtime())
+        
         # 生成唯一文件名
-        object_name = f"{prefix}/{get_formatted_time()}_{file.filename}"
+        object_name = f"{prefix}/{filename_without_ext}_{timestamp}.{file_type}"
         
         # 上传文件
         minio_client.put_object(
@@ -327,7 +334,7 @@ def upload_file():
             "filename": file.filename,
             "size": file_size,
             "type": file_type,
-            "objectName": object_name
+            "url": object_name
         }))
     except Exception as e:
         logger.error(f"文件上传失败: {str(e)}")
@@ -338,7 +345,7 @@ def upload_file():
 def upload_file_display():
     response = None
     try:
-        object_name = request.json.get('objectName')
+        object_name = request.json.get('url')
         if not object_name:
             return jsonify(failed("文件路径不能为空"))
             
@@ -371,7 +378,7 @@ def upload_file_display():
             "type": file_extension,
             "contentType": content_type,
             "size": len(file_data),
-            "url": f"/api/meta/resource/download?objectName={object_name}"
+            "url": f"/api/meta/resource/download?url={object_name}"
         }))
     except S3Error as e:
         logger.error(f"MinIO操作失败: {str(e)}")
@@ -389,7 +396,7 @@ def upload_file_display():
 def download_file():
     response = None
     try:
-        object_name = request.args.get('objectName')
+        object_name = request.args.get('url')
         if not object_name:
             return jsonify(failed("文件路径不能为空"))
             
@@ -458,7 +465,7 @@ def text_resource_node():
         en_name = request.json.get('en_name', '')
         keywords = request.json.get('keywords', [])
         keywords_en = request.json.get('keywords_en', [])
-        object_name = request.json.get('objectName', '')
+        object_name = request.json.get('url', '')
         
         if not name or not en_name or not object_name:
             return jsonify(failed("参数不完整"))
@@ -472,7 +479,7 @@ def text_resource_node():
                 en_name: $en_name,
                 keywords: $keywords,
                 keywords_en: $keywords_en,
-                objectName: $object_name,
+                url: $object_name,
                 createTime: $create_time,
                 updateTime: $update_time
             })

+ 1 - 1
app/core/meta_data/meta_data.py

@@ -539,7 +539,7 @@ def solve_unstructured_data(node_id, minio_client, prefix):
             return False
             
         # 获取对象路径
-        object_name = node_data.get('objectName')
+        object_name = node_data.get('url')
         if not object_name:
             logger.error(f"文档路径不存在: {node_id}")
             return False