teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ソースファイルの問題箇所

2016/10/18 13:43

投稿

nagaetty
nagaetty

スコア1106

answer CHANGED
@@ -17,11 +17,49 @@
17
17
  app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
18
18
  ```
19
19
 
20
- 根本的なところで、./upload_pdfのディレクトリは作成してありますか?
21
- それと、下記行ですがディレクトリ名の後に/が不足しているよに見えます。
20
+ 問題箇所はどやら、
22
- ```
23
- UPLOAD_FOLDER = './upload_pdf/'
21
+ return "SAVED"
24
- ```
25
22
 
23
+ の場所のようです。
26
24
 
25
+ 下記変更後に動作しました。:
26
+ return redirect(url_for('index'))
27
+ ※ソース変更後にhttpd を再起動しています。
27
28
 
29
+ ```python
30
+ import os
31
+ from flask import Flask, request, redirect, url_for
32
+ from werkzeug import secure_filename
33
+
34
+ UPLOAD_FOLDER = '/var/www/html/flaskapp/upload_pdf'
35
+ ALLOWED_EXTENSIONS = set(['txt'])
36
+
37
+ app = Flask(__name__)
38
+ app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
39
+
40
+ def allowed_file(filename):
41
+ return '.' in filename and \
42
+ filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
43
+
44
+ @app.route("/", methods=['GET', 'POST'])
45
+ def index():
46
+ if request.method == 'POST':
47
+ file = request.files['file']
48
+ if file and allowed_file(file.filename):
49
+ filename = secure_filename(file.filename)
50
+ file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
51
+ return redirect(url_for('index'))
52
+ return """
53
+ <!doctype html>
54
+ <title>Upload new File</title>
55
+ <h1>Upload new File</h1>
56
+ <form action="" method=post enctype=multipart/form-data>
57
+ <p><input type=file name=file>
58
+ <input type=submit value=Upload>
59
+ </form>
60
+ <p>%s</p>
61
+ """ % "<br>".join(os.listdir(app.config['UPLOAD_FOLDER'],))
62
+
63
+ if __name__ == "__main__":
64
+ app.run(host='0.0.0.0', debug=True)
65
+ ```

1

\./upload_pdfの記述を追加しました。

2016/10/18 13:43

投稿

nagaetty
nagaetty

スコア1106

answer CHANGED
@@ -15,4 +15,13 @@
15
15
  app = Flask(__name__)
16
16
  app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
17
17
  app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
18
- ```
18
+ ```
19
+
20
+ 根本的なところで、./upload_pdfのディレクトリは作成してありますか?
21
+ それと、下記の行ですがディレクトリ名の後に/が不足しているように見えます。
22
+ ```
23
+ UPLOAD_FOLDER = './upload_pdf/'
24
+ ```
25
+
26
+
27
+