浏览代码

完善后台上传ota文件程序,修复上传nvr安装包存在问题

locky 3 年之前
父节点
当前提交
a9413b10e4
共有 1 个文件被更改,包括 13 次插入7 次删除
  1. 13 7
      AdminController/VersionManagementController.py

+ 13 - 7
AdminController/VersionManagementController.py

@@ -113,7 +113,6 @@ class VersionManagement(View):
         resolutionRatio = request_dict.get('resolutionRatio', '')
         Description = request_dict.get('Description', '')
         status = request_dict.get('status', 0)
-        fileSize = request_dict.get('fileSize', '')
 
         if not all([file, mci, lang, ESN, max_ver, channel, resolutionRatio]):
             return response.json(444)
@@ -124,15 +123,22 @@ class VersionManagement(View):
             status = int(status)
             # 文件名为设备版本,最后一个'.'的前面为软件版本,后面为设备规格名称
             # V2.2.4.16E201252CA,软件版本:2.2.4,设备规格名称:16E201252CA
+            # V1.7.2.36C11680X30411F000600000150001Z,软件版本:1.7.2,设备规格名称:36C11680X30411F000600000150001Z
             file_name = str(file)                           # 文件名
-            version = file_name[:file_name.rindex('.')]     # 设备版本
-            rpoint = version.rindex('.')
-            softwareVersion = version[1:rpoint]             # 软件版本
-            code = version[rpoint+1:]                       # 设备规格名称
+            # .img和.tar.gz文件
+            file_type_index = file_name.find('.img')
+            if file_type_index == -1:
+                file_type_index = file_name.find('.tar')
+                if file_type_index == -1:
+                    return response.json(444, {'error': 'unsupported file type'})
+            version = file_name[:file_type_index]           # 设备版本
+            version_index = version.rindex('.')
+            softwareVersion = version[1:version_index]      # 软件版本
+            code = version[version_index+1:]                # 设备规格名称
             chipModelList2Code = code[:4]                   # 主芯片
-            type = code[-3:-1]                              # 设备机型
+            type = code[8:10]                               # 设备机型
             companyCode = code[-1:]                         # 公司代码
-            fileSize = fileSize
+            fileSize = file.size
             filePath = '/'.join(('static/otapack', mci, lang, file_name))
             file_data = file.read()
             fileMd5 = hashlib.md5(file_data).hexdigest()