Exemple #1
0
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'))
Exemple #2
0
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'))