我在使用ajax上传文件到Django时,按照这篇教程添加进度条。使用
upload_to
选项将文件上传到文件夹时,一切工作正常。但是,当我使用 storage
选项将文件上传到Azure时,它就无法工作了。也就是说,当我的模型如下所示时:class UploadFile(models.Model):
title = models.CharField(max_length=50)
file=models.FileField(upload_to='files/media/pre')
它运行得很完美,但问题出在这个模型:
from myAzure import AzureMediaStorage as AMS
class UploadFile(models.Model):
title = models.CharField(max_length=50)
file = models.FileField(storage=AMS)
它卡住了,没有继续执行。(AMS 在 myAzure.py 中定义):
from storages.backends.azure_storage import AzureStorage
class AzureMediaStorage(AzureStorage):
account_name = '<myAccountName>'
account_key = '<myAccountKey>'
azure_container = 'media'
expiration_secs = None
我该怎么让它工作?
编辑: 如果不清楚的话:
- 我的问题不是上传到Azure,而是显示进度条。
- 出于安全原因,我不想从浏览器上传文件,并使用CORS和SAS,而是从我的后端上传文件。