2017-11-06 8 views
0

EmailMultiAlternatives를 통해 전자 메일을 만들고 싶지만 POST 데이터에서 base64로 이미지 데이터를 가지고 있습니다. 이메일로 첨부 파일로 보내고 싶습니다. 지금은첨부 파일로 base64 이미지 데이터를 추가하는 방법은 무엇입니까?

I가 (보기) :

ctx = { 'username': request.user.username, 'img': request.POST['image'] } 

    subject, from_email, to = 'Hello', '[email protected]', '[email protected]' 
    text_content = 'text only' 
    html_content = render_to_string('visemail.html', ctx) 
    msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) 
    msg.attach_alternative(html_content, "text/html") 
    msg.send() 

템플릿 : 나는 내용의 사진을 볼 수 없습니다

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB.... 

: 나는 텍스트와 이메일을

<img src="{{ img }}" /> 

그러나 . 그래서이 이미지를 첨부 파일로 보내고 싶습니다.

어떻게 하시겠습니까?

img_data = request.POST['image'] 

    img = MIMEImage(img_data[img_data.find(",")+1:].decode('base64'), 'jpeg') 
    img.add_header('Content-Id', '<file>') 
    img.add_header("Content-Disposition", "inline", filename="file.jpg") 
    msg.attach(img) 

을하고 나를 위해 작동합니다

답변

0

좋아, 내가 추가 할 수 있습니다.