def upload(request, dir_name=None): """ Multipe Upload. """ from django.forms.formsets import formset_factory path = _get_path(request, dir_name) query = _get_query(request.GET) # PIL's Error "Suspension not allowed here" work around: # s. http://mail.python.org/pipermail/image-sig/1999-August/000816.html if STRICT_PIL: from PIL import ImageFile else: try: from PIL import ImageFile except ImportError: import ImageFile ImageFile.MAXBLOCK = IMAGE_MAXBLOCK # default is 64k UploadFormSet = formset_factory(UploadForm, formset=BaseUploadFormSet, extra=5) if request.method == 'POST': formset = UploadFormSet(data=request.POST, files=request.FILES, path_server=PATH_SERVER, path=path) if formset.is_valid(): for cleaned_data in formset.cleaned_data: if cleaned_data: # UPLOAD FILE _handle_file_upload(PATH_SERVER, path, cleaned_data['file']) if _get_file_type(cleaned_data['file'].name) == "Image": # MAKE THUMBNAIL _make_image_thumbnail(PATH_SERVER, path, cleaned_data['file'].name) # IMAGE GENERATOR if FORCE_GENERATOR or (cleaned_data['use_image_generator'] and (IMAGE_GENERATOR_LANDSCAPE != "" or IMAGE_GENERATOR_PORTRAIT != "")): _image_generator(PATH_SERVER, path, cleaned_data['file'].name) # GENERATE CROPPED/RECTANGULAR IMAGE if FORCE_GENERATOR or (cleaned_data['use_image_generator'] and IMAGE_CROP_GENERATOR != ""): _image_crop_generator(PATH_SERVER, path, cleaned_data['file'].name) # MESSAGE & REDIRECT msg = _('Upload successful.') request.user.message_set.create(message=msg) # on redirect, sort by date desc to see the uploaded files on top of the list redirect_url = URL_ADMIN + path + "?&ot=desc&o=3&" + query['pop'] return HttpResponseRedirect(redirect_url) else: formset = UploadFormSet(path_server=PATH_SERVER, path=path) return render_to_response('filebrowser/upload.html', { 'formset': formset, 'dir': dir_name, 'query': _get_query(request.GET), 'settings_var': _get_settings_var(request.META['HTTP_HOST'], path), 'breadcrumbs': _get_breadcrumbs(_get_query(request.GET), dir_name, _(u'Upload')), 'title': _(u'Select files to upload'), 'root_path': URL_HOME, }, context_instance=Context(request))
def upload(request, dir_name=None): """ Multipe Upload. """ from django.forms.formsets import formset_factory path = _get_path(dir_name) query = _get_query(request.GET) # PIL's Error "Suspension not allowed here" work around: # s. http://mail.python.org/pipermail/image-sig/1999-August/000816.html import ImageFile ImageFile.MAXBLOCK = 1000000 # default is 64k UploadFormSet = formset_factory(UploadForm, formset=BaseUploadFormSet, extra=5) if request.method == 'POST': formset = UploadFormSet(data=request.POST, files=request.FILES, path_server=PATH_SERVER, path=path) if formset.is_valid(): for cleaned_data in formset.cleaned_data: if cleaned_data: # UPLOAD FILE _handle_file_upload(PATH_SERVER, path, cleaned_data['file']) if _get_file_type(cleaned_data['file'].name) == "Image": # MAKE THUMBNAIL _make_image_thumbnail(PATH_SERVER, path, cleaned_data['file'].name) # IMAGE GENERATOR if cleaned_data['use_image_generator'] and (IMAGE_GENERATOR_LANDSCAPE != "" or IMAGE_GENERATOR_PORTRAIT != ""): _image_generator(PATH_SERVER, path, cleaned_data['file'].name) # GENERATE CROPPED/RECTANGULAR IMAGE if cleaned_data['use_image_generator'] and IMAGE_CROP_GENERATOR != "": _image_crop_generator(PATH_SERVER, path, cleaned_data['file'].name) # MESSAGE & REDIRECT msg = _('Upload successful.') request.user.message_set.create(message=msg) # on redirect, sort by date desc to see the uploaded files on top of the list redirect_url = URL_ADMIN + path + "?&ot=desc&o=3&" + query['pop'] return HttpResponseRedirect(redirect_url) else: formset = UploadFormSet(path_server=PATH_SERVER, path=path) return render_to_response('filebrowser/upload.html', { 'formset': formset, 'dir': dir_name, 'query': _get_query(request.GET), 'settings_var': _get_settings_var(request.META['HTTP_HOST'], path), 'breadcrumbs': _get_breadcrumbs(_get_query(request.GET), dir_name, 'Multiple Upload'), 'title': _('Select files to upload'), }, context_instance=Context(request))
def _upload_file(request): """ Upload file to the server. """ from django.core.files.move import file_move_safe if request.method == 'POST': folder = request.POST.get('folder') fb_uploadurl_re = re.compile(r'^(%s)' % reverse("fb_upload")) folder = fb_uploadurl_re.sub('', folder) abs_path = os.path.join(MEDIA_ROOT, DIRECTORY, folder) if request.FILES: filedata = request.FILES['Filedata'] filedata.name = _convert_filename(filedata.name) # PRE UPLOAD SIGNAL filebrowser_pre_upload.send(sender=request, path=request.POST.get('folder'), file=filedata) # HANDLE UPLOAD uploadedfile = _handle_file_upload(abs_path, filedata) # MOVE UPLOADED FILE # if file already exists if os.path.isfile(os.path.join(MEDIA_ROOT, DIRECTORY, folder, filedata.name)): old_file = os.path.join(abs_path, filedata.name) new_file = os.path.join(abs_path, uploadedfile) file_move_safe(new_file, old_file) # POST UPLOAD SIGNAL filebrowser_post_upload.send(sender=request, path=request.POST.get('folder'), file=FileObject(os.path.join(DIRECTORY, folder, filedata.name))) return HttpResponse('True')
def _upload_file(request): """ Upload file to the server. """ from django.core.files.move import file_move_safe if request.method == 'POST': folder = request.POST.get('folder') fb_uploadurl_re = re.compile(r'^(%s)' % reverse("fb_upload")) folder = fb_uploadurl_re.sub('', folder) abs_path = os.path.join(MEDIA_ROOT, DIRECTORY, folder) if request.FILES: filedata = request.FILES['Filedata'] filedata.name = _convert_filename(filedata.name) uploadedfile = _handle_file_upload(abs_path, filedata) if os.path.isfile(os.path.join(MEDIA_ROOT, DIRECTORY, folder, filedata.name)): old_file = os.path.join(abs_path, filedata.name) new_file = os.path.join(abs_path, uploadedfile) file_move_safe(new_file, old_file) return HttpResponse(True)
def upload(request, dir_name=None): """ Multipe Upload. """ from django.forms.formsets import formset_factory path = _get_path(dir_name) query = request.GET # PIL's Error "Suspension not allowed here" work around: # s. http://mail.python.org/pipermail/image-sig/1999-August/000816.html if STRICT_PIL: from PIL import ImageFile else: try: from PIL import ImageFile except ImportError: import ImageFile ImageFile.MAXBLOCK = IMAGE_MAXBLOCK # default is 64k UploadFormSet = formset_factory(UploadForm, formset=BaseUploadFormSet, extra=5) if request.method == 'POST': formset = UploadFormSet(data=request.POST, files=request.FILES, path_server=PATH_SERVER, path=path) if formset.is_valid(): for cleaned_data in formset.cleaned_data: if cleaned_data: # UPLOAD FILE _handle_file_upload(PATH_SERVER, path, cleaned_data['file']) if _get_file_type(cleaned_data['file'].name) == "Image": # IMAGE GENERATOR if FORCE_GENERATOR or ( cleaned_data['use_image_generator'] and (IMAGE_GENERATOR_LANDSCAPE != "" or IMAGE_GENERATOR_PORTRAIT != "")): _image_generator(PATH_SERVER, path, cleaned_data['file'].name) # GENERATE CROPPED/RECTANGULAR IMAGE if FORCE_GENERATOR or ( cleaned_data['use_image_generator'] and IMAGE_CROP_GENERATOR != ""): _image_crop_generator(PATH_SERVER, path, cleaned_data['file'].name) # MESSAGE & REDIRECT msg = _('Upload successful.') request.user.message_set.create(message=msg) # on redirect, sort by date desc to see the uploaded files on top of the list # remove filter in order to actually _see_ the uploaded file(s) return HttpResponseRedirect(URL_ADMIN + path + query_helper( query, "ot=desc,o=date", "ot,o,filter_type,filter_data")) else: formset = UploadFormSet(path_server=PATH_SERVER, path=path) return render_to_response( 'filebrowser/upload.html', { 'formset': formset, 'dir': dir_name, 'query': query, 'settings_var': _get_settings_var(), 'breadcrumbs': _get_breadcrumbs(query, dir_name, _(u'Upload')), 'title': _(u'Select files to upload'), 'root_path': URL_HOME, }, context_instance=Context(request))