在Django中将文件上传到Azure存储中时如何获取文件路径

时间:2019-05-02 09:03:11

标签: django azure azure-storage

我有一个可以上传文件的表格。上传的文件必须存储在azure存储中。我正在使用create_blob_from_path将文件上传到azure-storage.create_blob_from_path期望将文件路径作为参数之一。但是在这种情况下,我该如何获取文件路径,因为该操作必须处于动态模式下(上传的文件不能存储在任何本地存储中)。应将其直接存储在Azure中。

if request.method=="POST":
    pic=request.FILES['pic']
    block_blob_service = BlockBlobService(account_name='samplestorage', account_key='5G+riEzTzLmm3MR832NEVjgYxaBKA4yur6Ob+A6s5Qrw==')
    container_name ='quickstart'
    block_blob_service.create_container(container_name)        
    block_blob_service.set_container_acl(container_name, public_access=PublicAccess.Container)
    block_blob_service.create_blob_from_path(container_name, pic, full_path_to_file)//full_path_to_file=?

动态上传的文件必须存储在Azure中

1 个答案:

答案 0 :(得分:1)

如果无法将上传的文件存储在任何本地存储中,则可以以流或文本(字符串)的形式读取文件内容,然后分别使用create_blob_from_streamcreate_blob_from_text方法。