
파일 업로드 시 파일 이름이 중복이 되는 이유는 사용자가 동일한 이름의 파일을 업로드 할 때 발생하는 문제입니다.
서버에서 파일 업로드 시 파일 이름을 변경하는 방법은 다음과 같습니다.
1. 파일 이름을 랜덤하게 생성하는 방법: 파일 이름을 랜덤하게 생성하여 중복을 방지할 수 있습니다. 예를 들어, `uuid` 모듈을 사용하여 랜덤한 이름을 생성할 수 있습니다.
2. 날짜와 시간을 포함하는 방법: 날짜와 시간을 포함하여 파일 이름을 생성할 수 있습니다. 예를 들어, `strftime` 함수를 사용하여 날짜와 시간을 포함하는 이름을 생성할 수 있습니다.
3. 사용자 이름과 파일 이름을 합치는 방법: 사용자 이름과 파일 이름을 합쳐서 중복을 방지할 수 있습니다. 예를 들어, `username` 변수를 사용하여 사용자 이름과 파일 이름을 합칠 수 있습니다.
flask 프레임워크를 사용하여 파일 업로드 시 파일 이름을 변경하는 방법은 다음과 같습니다.
1. `request` 객체를 사용하여 파일 이름을 가져옵니다.
2. `uuid` 모듈을 사용하여 랜덤한 이름을 생성합니다.
3. `strftime` 함수를 사용하여 날짜와 시간을 포함하는 이름을 생성합니다.
4. 사용자 이름과 파일 이름을 합칩니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
python
from flask import request
import uuid
import datetime
@app.route('/upload', methods=['POST'])
def upload_file():
# 파일 이름을 가져옵니다.
file_name = request.files['file'].filename
# 랜덤한 이름을 생성합니다.
random_name = str(uuid.uuid4())
# 날짜와 시간을 포함하는 이름을 생성합니다.
date_time_name = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
# 사용자 이름과 파일 이름을 합칩니다.
user_file_name = request.form['username'] + '_' + file_name
# 파일 이름을 변경합니다.
file_name = random_name + '_' + date_time_name + '_' + user_file_name
# 파일을 저장합니다.
file.save(os.path.join(app.config['UPLOAD_FOLDER'], file_name))
return '파일 업로드 성공!'
이러한 방법을 사용하여 파일 업로드 시 파일 이름이 중복되는 문제점을 해결할 수 있습니다.
2025-04-27 08:40