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