오늘은 아무에게도 도움을 구하지 않고

구글링과 여러번의 시행착오 끝에 성공해따!!!!!!!!!


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': '저장 완료!'})

막바지가 다가온다!!!!!!

 


더 쉬운 방법을 알게되서 현타가 왔지만....

그래도 혼자 해낸게 좋다!

+ Recent posts