오늘은 아무에게도 도움을 구하지 않고
구글링과 여러번의 시행착오 끝에 성공해따!!!!!!!!!
let author = $("#author_box").val()
let title = $("#title_box").val()
let address = $("#address-box").val()
let content = $("#contents_box").val()
//파일명 출력//
var fileInput = document.getElementsByClassName("file");
for (var i = 0; i < fileInput.length; i++) {
if (fileInput[i].files.length > 0) {
for (var j = 0; j < fileInput[i].files.length; j++) {
let filename = fileInput[i].files[j].name //
let file = $('#file')[0].files[0]
let form_data = new FormData()
form_data.append("file_give", file)
form_data.append("author_give", author)
form_data.append("title_give", title)
form_data.append("address_give", address)
form_data.append("content_give", content)
form_data.append("filename_give", filename)
$.ajax({
type: "POST",
url: "/posts/",
data: form_data,
cache: false,
contentType: false,
processData: false,
success: function (response) {
alert(response["msg"])
location.replace('/posts')
}
});
}
}
}
}
여기서
var fileInput = document.getElementsByClassName("file");
for (var i = 0; i < fileInput.length; i++) {
if (fileInput[i].files.length > 0) {
for (var j = 0; j < fileInput[i].files.length; j++) {
let filename = fileInput[i].files[j].name //
이 부분이 업로드한 파일명을 뽑는(?) 코드인데
구글링으로 뽑는건 쉽게하고 뽑은 이름을 form_data에 넣어서
db에 저장하는게 좀 걸렸다^^
중간에 포기할까 말까만 수백번....
인간승리한 오늘을 기념해야겠다ㅎ
별건 아니지만 그래도 뿌듯👍🏻☺️
아래는 python
@app.route('/posts/', methods=['POST'])
def post_upload():
author_receive = request.form['author_give']
title_receive = request.form['title_give']
address_receive = request.form['address_give']
contents_receive = request.form['content_give']
filename_receive = request.form['filename_give']
file = request.files['file_give']
extension = file.filename.split('.')[-1]
today = datetime.now()
mytime = today.strftime('%Y년 %m월 %d일 %H:%M:%S')
filename = f'{filename_receive}-{mytime}'
save_to = f'static/{filename}.{extension}'
file.save(save_to)
count = db.articles.count()
# 게시글 삭제시 중복 가능 -> 존재하는 number +1 로 바꿔야함
if count == 0:
count = 1
elif count > 0:
count = count + 1
doc = {
'author': author_receive,
'title': title_receive,
'contents': contents_receive,
'address': address_receive,
'number': count,
'file': f'{filename}.{extension}',
'present_time': mytime
}
db.articles.insert_one(doc)
return jsonify({'msg': '저장 완료!'})
막바지가 다가온다!!!!!!
더 쉬운 방법을 알게되서 현타가 왔지만....
그래도 혼자 해낸게 좋다!
'내일배움캠프_강만다(첫 프로젝트)' 카테고리의 다른 글
내일배움캠프 18일차 _ 강만다 프로젝트(8일차) (0) | 2021.10.01 |
---|---|
내일배움캠프 17일차 _ 강만다 프로젝트(7일차) (0) | 2021.09.30 |
내일배움캠프 15일차 _ 강만다 프로젝트(5일차) (0) | 2021.09.28 |
내일배움캠프 12일차 _ 강만다 프로젝트(2일차) (0) | 2021.09.25 |
내일배움캠프 11일차 _ 강만다 프로젝트 (0) | 2021.09.23 |