ericolvr 0 Denunciar post Postado Julho 20, 2010 Boa tarde, como forma de estudo desenvolvi um sistema de "multiplo upload" que disponibilizo abaixo. Ainda não está da forma como quero, pois preciso de uma relação arquivos/usuario, se alguém souber como desenvolve-lo, por favor incremente o código, de qq forma está ai para uso. Nome do projeto = foto Nome da aplicacao = gerencia Config. do MEDIA_ROOT no foto/settings.py import os PROJECT_ROOT_PATH = os.path.dirname(os.path.abspath(__file__))include das urls no foto/urls.py (r'^gerencia/', include('gerencia.urls')), foto/gerencia/templetags/uploadify.py from django import template from foto import settings register = template.Library() # ---------------------------------------------------------------- # Realiza o multiplo upload # ---------------------------------------------------------------- @register.inclusion_tag('upload.html', takes_context=True) def file_upload(context, upload_complete_url): return { 'upload_complete_url' : upload_complete_url, } foto/gerencia/views.py from django.shortcuts import render_to_response from django.http import HttpResponse import django.dispatch # Seleciona as fotos para o multiplo upload def selecionaArquivos(request, *args, **kwargs): usuario = User.objects.filter(username=request.user) clientes = Cliente.objects.filter(usuario=usuario) return render_to_response( 'upload.html', locals(), context_instance=RequestContext(request)) # Realiza o multiplo upload def upload(request): if request.method == 'POST': file = request.FILES['Filedata'] print file.name path = '/home/erico/projetos/foto/media/arquivos/' fd = open('%s%s' % (path, file.name), 'wb') fd.write(file.read()) fd.close() return HttpResponse('True')foto/gerencia/urls.py from django.conf.urls.defaults import * from gerencia.views import * #URLS de upload urlpatterns = patterns('', url(r'selecionaArquivos/$',selecionaArquivos), url(r'upload/$', upload, name='uploadify_upload'), ) foto/templates/upload.html <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="{{ MEDIA_URL }}js/swfobject.js"></script> <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery.uploadify.js"></script> <div id="uploadify" class="multi-file-upload"> <input id="fileInput" name="fileInput" type="file" /> </div> </div> <script type="text/javascript">// <![CDATA[ $(document).ready(function() { $('#fileInput').uploadify({ 'uploader' : '{{ MEDIA_URL }}js/uploadify.swf', 'script' : '{% url uploadify_upload %}', 'cancelImg' : '{{ MEDIA_URL }}js/cancel.png', 'auto' : true, 'folder' : '/home/erico/projetos/foto/media/arquivos/', 'multi' : true, 'onAllComplete' : allComplete }); }); function allComplete(event, data) { $('#uploadify').load('{{ upload_complete_url }}', { 'filesUploaded': data.filesUploaded, 'errorCount': data.errors, 'allBytesLoaded': data.allBytesLoaded, 'speed': data.speed }); // Raise custom event $('#uploadify').trigger('allUploadsComplete', data); } // ]]></script> os arquivos js e flash do uploadify podem ser baixados em http://www.uploadify.com os mesmos estão dentro da pasta /foto/media/js/ Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Avelino.US 1 Denunciar post Postado Agosto 26, 2010 Para fazer Multi Upload é só fazer um "widget":"MultiFileInput" Compartilhar este post Link para o post Compartilhar em outros sites
ericolvr 0 Denunciar post Postado Agosto 26, 2010 E pode compartilhar o conhecimento? Compartilhar este post Link para o post Compartilhar em outros sites
Avelino.US 1 Denunciar post Postado Agosto 27, 2010 @ericolvr isso pode te ajudar: http://gist.github.com/553335 @avelino0 Compartilhar este post Link para o post Compartilhar em outros sites