def media_add_ajax(request): """ This is the end point for the ajax file uploads. It will always return "application/json". """ if request.method == 'POST': uploaded_files = [] for key, upload in request.FILES.items(): media_file = MediaFile() media_file.title = request.POST.get('title') media_file.slug = slugify(media_file.title) media_file.caption = request.POST.get('caption') media_file.created_by = request.user media_file.media_file = upload if upload.content_type in ['image/jpeg', 'image/png', 'image/gif']: media_file.thumbnail = upload media_file.thumbnail_medium = upload media_file.save() if media_file.thumbnail == '': thumbnail_url = STATIC_URL + 'img/default_thumbnail.png' else: thumbnail_url = media_file.thumbnail.url uploaded_files.append({ 'file_name': media_file.media_file.name, 'pk': media_file.pk, 'thumbnail_url': thumbnail_url, 'title': media_file.title, }) # Remember, this has to be JSON serializable ret_json = { 'files': uploaded_files, 'success': True, } response = HttpResponse( json.dumps(ret_json), content_type="application/json" ) response['Content-Disposition'] = 'inline; filename="files.json"' return response else: return HttpResponseRedirect(reverse('thathweb.media.views.media_add'))
def media_add_ajax(request): """ This is the end point for the ajax file uploads. It will always return "application/json". """ if request.method == 'POST': uploaded_files = [] for key, upload in request.FILES.items(): media_file = MediaFile() media_file.title = request.POST.get('title') media_file.slug = slugify(media_file.title) media_file.caption = request.POST.get('caption') media_file.created_by = request.user media_file.media_file = upload if upload.content_type in ['image/jpeg', 'image/png', 'image/gif']: media_file.thumbnail = upload media_file.thumbnail_medium = upload media_file.save() if media_file.thumbnail == '': thumbnail_url = STATIC_URL + 'img/default_thumbnail.png' else: thumbnail_url = media_file.thumbnail.url uploaded_files.append({ 'file_name': media_file.media_file.name, 'pk': media_file.pk, 'thumbnail_url': thumbnail_url, 'title': media_file.title, }) # Remember, this has to be JSON serializable ret_json = { 'files': uploaded_files, 'success': True, } response = HttpResponse(json.dumps(ret_json), content_type="application/json") response['Content-Disposition'] = 'inline; filename="files.json"' return response else: return HttpResponseRedirect(reverse('thathweb.media.views.media_add'))