質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1108閲覧

gifファイルが保存出来ない

vibrato

総合スコア52

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/12/05 11:41

以下の状態でgifファイルをアップロード&保存させようとすると上手く保存出来ません。

HTML

1<form method="POST" enctype="multipart/form-data">{% csrf_token %} 2 画像:<input type="file" name="file" accept="image/*"> 3</form>

PYTHON

1# 書き込み時はエラーが起きない 2work = open("test.gif", 'wb') 3for chunk in request.FILES['file'].chunks(): 4 work.write(chunk)

python

1# 読み込むときにエラーが起きる 2from PIL import Image as img 3upfile = img.open("test.gif", 'r')

どういう状況なのか確かめるために保存されたディレクトリをのぞいてみると、
【test.gif】というファイルは生成されるのですが、中身が無い?のか、画像を表示できません。
書き込みではエラーが出ていないのに、上手く書き込まれておらず困惑中です。
どのようにすれば解決出来ますでしょうか?宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2017/12/06 03:11

ファイルのクローズが書いていないのが気になりました。実際のコードでは書かれていますか?
guest

回答1

0

自己解決

Lhankor_Mhy様の助言通り
ファイルクローズした結果、成功したしました!!

work = open("test.gif", 'wb')
for chunk in request.FILES['file'].chunks():
work.write(chunk)
work.close()

gif以外はクローズしなくても何とかなっていたみたいですが、gifは確実にクローズしなければならないことを学びました。
Lhankor_Mhy様ありがとうございました!

投稿2017/12/06 05:01

vibrato

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問