fix: アップロード時の不備修正。ファイルサイズ制限100MB→20MB, 拡張子CSVのみの楽観検査に変更(NEWDWH2021-1160)
This commit is contained in:
parent
e725a023f1
commit
441805ad0f
@ -4,9 +4,12 @@ from typing import Optional
|
|||||||
from fastapi import APIRouter, Depends, HTTPException, Request
|
from fastapi import APIRouter, Depends, HTTPException, Request
|
||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
from starlette import status
|
from starlette import status
|
||||||
|
|
||||||
from src.depends.services import get_service
|
from src.depends.services import get_service
|
||||||
from src.logging.get_logger import get_logger
|
from src.logging.get_logger import get_logger
|
||||||
from src.model.internal.session import UserSession
|
from src.model.internal.session import UserSession
|
||||||
|
from src.model.request.master_mainte_csvdl import MasterMainteCsvDlModel
|
||||||
|
from src.model.request.master_mainte_csvup import MasterMainteCsvUpModel
|
||||||
from src.model.view.inst_emp_csv_download_view_model import \
|
from src.model.view.inst_emp_csv_download_view_model import \
|
||||||
InstEmpCsvDownloadViewModel
|
InstEmpCsvDownloadViewModel
|
||||||
from src.model.view.inst_emp_csv_upload_view_model import \
|
from src.model.view.inst_emp_csv_upload_view_model import \
|
||||||
@ -20,9 +23,6 @@ from src.services.master_mainte_service import MasterMainteService
|
|||||||
from src.services.session_service import set_session
|
from src.services.session_service import set_session
|
||||||
from src.system_var import constants
|
from src.system_var import constants
|
||||||
from src.templates import templates
|
from src.templates import templates
|
||||||
from src.model.request.master_mainte_csvup import MasterMainteCsvUpModel
|
|
||||||
from src.model.request.master_mainte_csvdl import MasterMainteCsvDlModel
|
|
||||||
|
|
||||||
|
|
||||||
logger = get_logger('マスターメンテ')
|
logger = get_logger('マスターメンテ')
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ def inst_emp_csv_upload_view(
|
|||||||
@router.post('/instEmpCsvUL', response_class=HTMLResponse)
|
@router.post('/instEmpCsvUL', response_class=HTMLResponse)
|
||||||
async def inst_emp_csv_upload(
|
async def inst_emp_csv_upload(
|
||||||
request: Request,
|
request: Request,
|
||||||
csv_upload_form: Optional[MasterMainteCsvUpModel] = Depends(MasterMainteCsvUpModel.as_form),
|
csv_upload_form: MasterMainteCsvUpModel = Depends(MasterMainteCsvUpModel.as_form),
|
||||||
master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)),
|
master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)),
|
||||||
batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService))
|
batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService))
|
||||||
):
|
):
|
||||||
@ -137,12 +137,12 @@ async def inst_emp_csv_upload(
|
|||||||
|
|
||||||
# 画面表示用のモデル
|
# 画面表示用のモデル
|
||||||
error_message_list = []
|
error_message_list = []
|
||||||
content_type: str = csv_upload_form.csv_file.content_type.strip()
|
csv_filename: str = csv_upload_form.csv_file.filename
|
||||||
if csv_upload_form.csv_file.size == 0:
|
if csv_upload_form.csv_file.size == 0:
|
||||||
error_message_list.append('選択されたファイルが見つかりませんでした。')
|
error_message_list.append('選択されたファイルが見つかりませんでした。')
|
||||||
elif content_type != 'text/csv' and content_type != 'application/vnd.ms-excel' and content_type != 'application/octet-stream':
|
elif not csv_filename.endswith('.csv'):
|
||||||
error_message_list.append('選択されたファイル形式が"csv"ではありません。')
|
error_message_list.append('選択されたファイル形式が"csv"ではありません。')
|
||||||
elif csv_upload_form.csv_file.size >= constants.MENTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE:
|
elif csv_upload_form.csv_file.size >= constants.MAINTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE:
|
||||||
error_message_list.append('選択されたCSVファイルサイズが大きいです。100MB未満にしてください。')
|
error_message_list.append('選択されたCSVファイルサイズが大きいです。100MB未満にしてください。')
|
||||||
else:
|
else:
|
||||||
mainte_csv_up = master_mainte_service.prepare_mainte_csv_up_view(
|
mainte_csv_up = master_mainte_service.prepare_mainte_csv_up_view(
|
||||||
|
|||||||
@ -212,5 +212,5 @@ MENTE_CSV_DOWNLOAD_HEADER = [
|
|||||||
|
|
||||||
MENTE_CSV_DOWNLOAD_FILE_NAME = 'instEmpData.csv'
|
MENTE_CSV_DOWNLOAD_FILE_NAME = 'instEmpData.csv'
|
||||||
|
|
||||||
# CSVアップロードの制限サイズ=100MB
|
# CSVアップロードの制限サイズ=20MB
|
||||||
MENTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE = 104857600
|
MAINTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE = 20971520
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user