Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

259
Views
carga de múltiples archivos - django

Estoy cargando varios archivos en django y cuando guardé archivos, solo guardó uno. Ejemplo de ejecución:

 ------------------------------------ start files ------------------------ <MultiValueDict: {u'patientFiles': [<InMemoryUploadedFile: Registro VFC JOSE DE LA CRUZ_16_03_2015.txt (text/plain)>, <InMemoryUploadedFile: JDTD datos vfc_27_04_2015.txt (text/plain)>]}> *-1-*Registro VFC JOSE DE LA CRUZ_16_03_2015.txt *-2-*<django.core.files.storage.FileSystemStorage object at 0xaf731aac> *-1-*JDTD datos vfc_27_04_2015.txt *-2-*<django.core.files.storage.FileSystemStorage object at 0xaf731e4c> *-3-*JDTD datos vfc_27_04_2015.txt *-4-*JDTD%20datos%20vfc_27_04_2015.txt --------------------------------------------------------------------------

Cómo puede ver, va a 3 y 4 puntos una vez y no guarda el primer archivo. ¿Tienes alguna idea?

Gracias y el siguiente es el código.

Este es el código del servidor Django:

 def startFiles(self,request): print colored("----------------- start files -----------------------",'blue') print colored(request.FILES,'blue') for afile in request.FILES.getlist('patientFiles'): myfile = afile print colored("*-1-*" + str(myfile),'blue') fs = FileSystemStorage() print colored("*-2-*" + str(fs),'blue') filename = fs.save(myfile.name, myfile) print colored("*-3-*" + str(filename),'blue') uploaded_file_url = fs.url(filename) print colored("*-4-*" + str(uploaded_file_url),'blue') print colored("--------------------------------------------------------------------------------",'blue')

este es el código HTML:

 <form id="SuPF" class="form-group" enctype="multipart/form-data" action="/formSingupPatient" method="POST"> <input type="file" multiple="true" name="patientFiles"> <button type="submit" id="SubmitForm" class="btn btn-default">Submit</button> </form>
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

finalmente usé la API de archivos de python para guardar muchos archivos. Cambio el código de startFiles con:

 def startFiles(self,request): print colored("----------------- start files -----------------------",'blue') print colored(request.FILES,'blue') for afile in request.FILES.getlist('patientFiles'): myfile = afile print colored("*-1-*" + str(myfile),'blue') fs = FileSystemStorage() print colored("*-2-*" + str(fs),'blue') filename = settings.MEDIA_ROOT + "/" + myfile.name f = open(filename,'w') print colored(f,'blue') f.write(myfile.read()) f.close() print colored("--------------------------------------------------------------------------------",'blue')

Usé el búfer para crear un archivo y guardar el archivo.

settings.MEDIA_ROOT es una ruta del sistema donde se guardan los archivos.

Espero ayudarte en el futuro.

over 4 years ago · Santiago Trujillo Report

0

Para subir al modelo y guardar en el sistema de archivos también usé esto

 for d in request.FILES.getlist("asd"): def process(f): with open('./media/file_' + x.name, 'wb+') as destination: for chunks in f.chunks(): destination.write(chunks) obj = Details() obj.xxx= './media/f_' + x.name obj.type = type obj.save() process(d)
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!