2016-07-25 21 views
1

Ich möchte einige Kontextinformationen zusammen mit der hochgeladenen Datei senden, da ich mehrere Upload-Bereiche auf der Seite habe und jeden Upload mit dem Bereich verknüpfen möchte, der für den Upload verwendet wurde. Die beforeSend Option ist verfügbar, aber alles, was ich in dieser Funktion habe, ist das eigentliche Objekt file und ein formData Objekt, dem ich weitere Daten hinzufügen werde.Formstone-Upload - Upload-Kontext abrufen

Wie kann ich wissen, welcher Upload-Bereich angeklickt wurde? Ich möchte diese Informationen an den Server senden.

Antwort

1

Dies ist sicherlich ein Problem mit der aktuellen Implementierung. Der beste Weg, dies heute zu lösen wäre einen anderen beforeSend Rückruf für jede Upload-Instanz spezifizieren:

$(".upload_one").upload({ 
    beforeSend: preprocessUploadOne 
}); 

$(".upload_two").upload({ 
    beforeSend: preprocessUploadTwo 
}); 

// etc.. 

Jede Vorprozess Funktion dann die formData auf einzigartige Weise vorbereiten konnte (oder die relevanten Daten zu sammeln und gibt ihnen an eine einzelne Vorbereitungsfunktion, solange Sie das Objekt formData von jedem Schritt zurückgeben).

Je nachdem, wie Ihre Skripte strukturiert sind, könnten Sie verweisen auch diese einzelnen globalen Rückrufe mit den Inline-Daten-Optionen, so dass Sie mit einem einzigen Instanziierung Anruf fortzusetzen:

<div class="upload" data-upload-options='{"beforeSend":preprocessUploadOne}'></div> 

<div class="upload" data-upload-options='{"beforeSend":preprocessUploadTwo}'></div> 

Ich werde auch ein Problem öffnen um dieses Problem in einer zukünftigen Version nachhaltiger anzugehen.

+0

Vielen Dank! Das wäre eine großartige Ergänzung für das Plugin. Ich werde sehen, ob ich diesen Vorschlag funktionieren kann, da die Upload-Bereiche dynamisch auf der Seite hinzugefügt werden, was die Dinge kompliziert macht. – Apeksha

+0

Ich landete einige benutzerdefinierte Code im Plugin, um den Bereich zu identifizieren, der angeklickt wurde. – Apeksha

+1

Version 1.2.1 wurde gestern veröffentlicht. Die 'this'-Variable wird nun auf die Komponente im' beforeSend'-Callback beschränkt. – benplum