DjangoからGCSにファイルを保存
GCSにアップロードする方法をメモ
views.py
from django.shortcuts import render,redirect,HttpResponse
from google.cloud import storage
from django.conf import settings
def upload(request):
file = request.FILES["file"]
GS_CREDENTIALS = getattr(settings, "GS_CREDENTIALS", None) #settings.pyの変数
client = storage.Client(
credentials=GS_CREDENTIALS,
project=GS_CREDENTIALS.project_id
)
bucket = client.get_bucket('hogehoge') #バケット名
blob = bucket.blob('files/newfile.csv') #保存するファイルのパスと名前
blob.upload_from_file(file)
return HttpResponse(blob.exists())
def download(request,filename):
GS_CREDENTIALS = getattr(settings, "GS_CREDENTIALS", None) #settings.pyの変数
client = storage.Client(
credentials=GS_CREDENTIALS,
project=GS_CREDENTIALS.project_id
)
bucket = client.get_bucket('hogehoge')
blob = bucket.blob('files/'+filename)
file = blob.download_as_bytes()
response = HttpResponse(file,content_type='application/octet-stream')
response['Content-Disposition'] = "filename="+filename
return response
Author And Source
この問題について(DjangoからGCSにファイルを保存), 我々は、より多くの情報をここで見つけました https://qiita.com/popo62520908/items/36b4eebb0fa20102c138著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .