$.ajax({
url: "/content/upload",
data: fd,
method: "POST",
processData: false,
contentType: false,
success: function(data){
console.log("성공");
},
error: function(request, status, error){
console.log("실패");
},
complete: function(){
console.log("완료");
location.replace("/");
}
})
content/views.py
class UploadFeed(APIView):
def post(self, request):
# 일단 파일 불러오기
file = request.FILES['file']
# 특수문자, 한글 등이 오면 오류가 나서 랜덤으로 id값(영어+숫자)
uuid_name = uuid4().hex
save_path = os.path.join(MEDIA_ROOT, uuid_name)
# 파일 저장
with open(save_path, 'wb+') as destination:
for chunk in file.chunks():
destination.write(chunk)
content = request.data.get('content')
image = uuid_name
profile_image = request.data.get('profile_image')
user_id = request.data.get('user_id')
# 피드에 나타내기
Feed.objects.create(content=content, image=image, profile_image=profile_image, user_id=user_id, like_count=0)
return Response(status=200)
{% load static %}
{% get_media_prefix %}{{ feed.image }}