|
@@ -6,7 +6,7 @@ from fastapi import BackgroundTasks, FastAPI, File, UploadFile,Request
|
|
|
import os
|
|
|
import uvicorn
|
|
|
import time
|
|
|
-
|
|
|
+import requests
|
|
|
# from Zipfile import zipfile
|
|
|
|
|
|
import main
|
|
@@ -107,57 +107,80 @@ async def data(text_list=Body(None)):
|
|
|
|
|
|
|
|
|
|
|
|
+# 下载招标、投标、专家打分表图片文件
|
|
|
+def get_file(path_name="1@/static/bm/project/20240726130404_采购文件.docx", save_file='./download'):
|
|
|
+ url = 'http://222.92.111.18:8006/admin/sys-file/download' # 要下载的文件的URL
|
|
|
+ url = 'http://222.92.111.18:8006/admin/sys-file/preview'
|
|
|
+ json = {"path":path_name}
|
|
|
+
|
|
|
+ response = requests.get(url, data=json, stream=True) # 发送GET请求,stream参数指定以流的方式下载文件
|
|
|
+ file_name = path_name.split('/')[-1]
|
|
|
+
|
|
|
+ save_file_path = save_file + '/new_'+file_name
|
|
|
+ # print(response.text)
|
|
|
+ code = 0
|
|
|
+ if response.status_code == 200: # 检查响应状态码
|
|
|
+ try:
|
|
|
+ with open(save_file_path, 'wb') as f: # 打开本地文件进行写入操作
|
|
|
+ for chunk in response.iter_content(chunk_size=1024): # 分块读取文件内容,每次读取1KB
|
|
|
+ if chunk: # 检查是否有数据块可读
|
|
|
+ f.write(chunk) # 将数据块写入本地文件
|
|
|
+ f.flush() # 刷新缓冲区,确保数据写入磁盘
|
|
|
+ print('文件下载完成!')
|
|
|
+ except:
|
|
|
+ code = 1
|
|
|
+ else:
|
|
|
+ print('下载失败,状态码:', response.status_code)
|
|
|
+ code = -1
|
|
|
+
|
|
|
+ return save_file_path, code
|
|
|
+
|
|
|
+get_file("1@/tgs/bm/bid_pre_check/20240621110320_招标采购预审查示例.pdf")
|
|
|
+
|
|
|
+
|
|
|
#预审查、清标
|
|
|
@app.post("/file_upload")
|
|
|
-async def file_upload(request: Request, file: UploadFile = File(...), userId:str=Form(...), pushFilename:str=Form(...)):
|
|
|
- """
|
|
|
- 文件上传
|
|
|
- 格式:pdf,docx,doc,txt,tar.gz,zip,7z, rar
|
|
|
- """
|
|
|
- json_post = await request.json()
|
|
|
- projectId = json_post['projectId']
|
|
|
- projectName = json_data['projectName']
|
|
|
- # 企业列表
|
|
|
- bidderUnit = json_data['bidderUnit']
|
|
|
- # 报告类型 0 预审查 1 清标
|
|
|
- reportFlag = json_data['reportFlag']
|
|
|
- # 采购文件
|
|
|
- scoreFile = json_data['buyFile']
|
|
|
- # 投标文件
|
|
|
- bidderFile = json_data['bidderFile']
|
|
|
- ip_adder = request.client.host
|
|
|
- print(callback_url1, ip_adder, pushFilename)
|
|
|
- #print(userId,pushFilename)
|
|
|
- res = await file.read()
|
|
|
- date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
|
|
|
+async def file_upload(text_list=Body(None)):
|
|
|
+
|
|
|
+ # json_post = await request.json()
|
|
|
try:
|
|
|
- os.mkdir('./uploads/' + date)
|
|
|
+ json_post = json.dumps(eval(text_list))
|
|
|
except:
|
|
|
- pass
|
|
|
- with open('./uploads/' + date + '/' + file.filename, "wb") as f:
|
|
|
- f.write(res)
|
|
|
-
|
|
|
- json_data = {
|
|
|
- "code":0,
|
|
|
- "name":'',
|
|
|
- "msg":"",
|
|
|
- "data":{},
|
|
|
- "ok":True
|
|
|
- }
|
|
|
+ # json_post = json.dumps({'prompt':str(text_list)})
|
|
|
+ json_post = text_list
|
|
|
|
|
|
- try:
|
|
|
- 1/0
|
|
|
- get_minio_file(detection_type, './uploads/' + date + '/' + file.filename, pushFilename, userId, date, callback_url1)
|
|
|
+ print(json_post)
|
|
|
+ projectId = json_post['projectId']
|
|
|
+ projectName = json_post['projectName']
|
|
|
+ bidderUnit = json_post['bidderUnit']
|
|
|
+ reportFlag = json_post['reportFlag'] # 0 预审查 1 清标
|
|
|
+ buyFile = json_post['buyFile'] #采购文件
|
|
|
+ bidderFile = json_post['bidderFile'] #投标文件
|
|
|
+
|
|
|
+ try:
|
|
|
+ if buyFile:
|
|
|
+ buy_file_path, code = get_file(buyFile)
|
|
|
+ if bidderFile:
|
|
|
+ bidder_file_path, code = get_file(bidderFile)
|
|
|
+ json_data = {
|
|
|
+ "code":0,
|
|
|
+ "name":'',
|
|
|
+ "msg":"文件下载成功",
|
|
|
+ "data":{},
|
|
|
+ "ok":True
|
|
|
+ }
|
|
|
except:
|
|
|
json_data = {
|
|
|
"code":1,
|
|
|
"name":'',
|
|
|
- "msg":"",
|
|
|
+ "msg":"文件下载失败",
|
|
|
"data":{},
|
|
|
"ok":False
|
|
|
}
|
|
|
return json_data
|
|
|
- return json_data
|
|
|
+ return json_data
|
|
|
+
|
|
|
+
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|