파이썬 웹서버 사진 업로드 질문입니다!

조회수 1911회

http://flask-docs-kr.readthedocs.io/ko/latest/patterns/fileuploads.html

이 페이지에 있는 내용으로 코딩을 하였으나 어느 주소로 사진이 전송되는지를 모르겠습니다.

제가 하려는 프로그래밍이 라즈베리파이로 사진을 찍고 찍은사진을 사이트(앱인벤터)로 전송하는 프로그램을 짜고 있습니다. 도와주시면 감사하겟습니다.

라즈베리파이는 3 B+를 사용하고 있고 프로그래밍은 파이썬을 사용하고 잇습니다. 사진찍는것은 프로그램을 짯는데 전송이(업로드)가 안되어 몇주째 끙끙거리고 있습니다.. 도움부탁드립니다. 혹시몰라 전체 코드 올립니다.

//import time
import picamera
import datetime
import requests
import os
from flask import Flask, redirect, url_for
from werkzeug import secure_filename
import serial

port = "/dev/ttyACM0"
serialFromArduino = serial.Serial(port, 9600)
serialFromArduino.flushInput()


while True:
    if(serialFromArduino.inWaiting() > 0):
        input = serialFromArduino.read(1)
       # print(input)
        if input=='a':
        continun = 1
        while continun == 1 :
                with picamera.PiCamera() as camera:
                    now = datetime.datetime.now()
                    filename = now.strftime('%Y-%m-%d %H:%M ')
                    camera.brightness = 60
                    camera.start_preview(fullscreen=False, window=(100,20,1024,768))
                    time.sleep(5)
                    s = datetime.datetime.now()
                    camera.capture(filename + '.jpg')
                    camera.stop_preview()
                continun = 0
                    UPLOAD_FOLDER = '/path/to/the/uploads'
                ALLOWED_EXTENSIONS = set(['txt','pdf','png','jpg','jpeg','gif'])
                app=Flask(__name__)
                app.config['UPLOAD_FOLDER']=UPLOAD_FOLDER

                def allowed_file(filename):
                    return '.' in filename and \
                       filename.raplit('.',1)[1] in ALLOWED_EXTENSIONS

                    @app.route('/',methods=['GET','POST'])
                    def upload_file():
                    if request.method == 'POST':
                        file = request.files['file']
                        if file and allowed_file(file.filename):
                        filename = secure_filename(file.filename)
                        file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
                        return redirect(url_for('uploaded_file',
                                 filename=filename))
                    return '''
                    <!doctype html>
                    <html> "http://192.168.0.84"
                    <title>Upload new File</title>
                    <h1>Hello DDL!</h1>
                    <h1>Upload new File</h1>
                    <form action="" method=post enctype=multipart/from-data>
                      <p><input type=file name=file>
                         <input type=submit value=Upload>
                    </form>
                    '''
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

    1. 소스대로라면... 그 라즈베리파이의 /path/to/the/uploads 디렉토리에 사진들이 있을 것 같은데요. 파일 매니저 열어서 주소창에 그대로 입력해 보시겠어요?
    2. 만약 그 디렉토리 자체가 없다면 /path/to/the 디렉토리에 파이선이 쓰기 권한을 갖고 있는지 체크해 보세요.
    • 사진은 /path/to/the/upload에 있지 않고 다른 파일에 있습니다. 그러면 서버가 구축되어 서버로 사진이 전송이 되는게 아니라 파일로만 저장된다는 말씀이신가요?? 알 수 없는 사용자 2018.8.15 17:03
    • 지금 라즈베리파이로 파일 저장 서버를 구축하신 거거든요. 그래서 사진이 그 라즈베리파이 특정 경로에 업로드된 거고요. 애초에 "서버에 사진을 전송"한다는 건 그 (서버)컴퓨터의 특정 경로에 파일을 저장시킨다는 의미입니다. 답변이 되었을까요? 엽토군 2018.8.15 22:22
    • 그럼 제가 웹서버를 만든것이 아니라 컴퓨터의 특정 파일에 저장하는 소스를 짠거군요... 제가 잘못 이해하고 만들었네요... 감사합니다! 알 수 없는 사용자 2018.8.17 17:22

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)