1 回答

TA贡献1850条经验 获得超11个赞
if request.method == 'POST' and request.FILES['file']:
file = request.FILES['file']
if (str(file.content_type) == 'image/jpeg'
or str(file.content_type) == 'image/png'):
if (int(file.size) <= 5000000):
fs = FileSystemStorage()
filename = fs.save('YOUR_DIRECTORY/' + file.name, file)
email = EmailMessage()
email.subject = "XXX | Bildupload"
email.body = mainMessage
email.from_email = "SMTP <xxx@xxx.net>"
email.to = ["xxx@xxx.net"]
email.attach_file(filename)
email.send()
answer = 'Die Datei wurde erfolgreich hochgeladen'
errorAnswer = ''
return render(request, 'app/hochladen.html', {
'answer': answer
})
else:
errorAnswer = 'Der Upload hat nicht funktioniert.'
else:
errorAnswer = 'Der Upload hat nicht funktioniert.'
return render(request, 'app/hochladen.html', {
'errorAnswer': errorAnswer
})
如果有人想知道如何做到这一点,可以使用上面发布的代码。您可以删除第二个和第三个 if 语句,因为它们会检查大小和文件类型。
我找到的唯一答案是首先将文件上传到服务器,然后从那里访问它。虽然我不知道如何在发送电子邮件并附加后删除它。
并且您需要正确配置 settings.py 并添加一个 /media/ 文件夹。
添加回答
举报