2016-10-15 1 views
1

Ich weiß, dass dies schon einmal gefragt wurde, aber keine der Antworten war in meinem Fall wirklich angemessen.Wie übergebe ich Dateien mit Fine Uploader mit Formular?

Ich habe ein Support-Ticket-System und möchte es Benutzern ermöglichen, Anlagen zu diesem hochladen können. Dazu benutze ich den Fine Uploader.

Mein Problem ist

  1. Implementierung
  2. machen es eigentlich

So:

  1. Was ist der beste Weg, dies zu tun? Ich würde dem Benutzer erlauben, Dateien auszuwählen und sie mit dem Formular hochzuladen, was mir am effizientesten erschien. Einige Leute schlugen die Option vor, Dateien automatisch hochzuladen und dann eine ID zurückzugeben, um den Anhang bei jeder Ticketantwort zu referenzieren. Was ist die beste Methode, dies zu tun? Ich denke, der erste ist am praktischsten, bedeutet auch nicht, dass Dateien hochgeladen werden, die nicht mit Antworten verknüpft sind. Zweitens, ich schätze, es ist schneller, eine Antwort zu senden, da die Anhänge hochgeladen werden, während Sie tippen und was nicht, und Sie können den Fortschritt des Uploads sehen. Beste Methode?

  2. habe ich versucht, die erste Methode, hier war mein Code:

Form:

{{ Form::open(['route' => ['ticket', $ticket->id], 'method' => 'put', 'id' => 'qqform']) }} 
<div class="row"> 
    <div class="col-sm-12"> 
     <div class="form-group"> 
      <label class="control-label bold-label">Message</label> 
       <textarea name="message" id="message" placeholder="Message" rows="5" 
        class="form-control"></textarea> 
     </div> 
    </div> 
</div> 

<div id="reply-form-uploader" class="reply-form-uploader"></div> 

<div class="text-right"> 
    <button class="btn btn-info" type="submit">Submit</button> 
</div> 
{{ Form::close() }} 

JS:

var uploader = new qq.FineUploader({ 
element: document.getElementById('reply-form-uploader'), 
autoUpload: false, 
interceptSubmit: true, 
sizeError: 2048 

Der Endpunkt, entsprechend der Dokumentation, ist Genau wie die URL für die Aktion, wird die Methode, wie ich annehme, automatisch auf POST gesetzt und es gibt eine _method v Ich sage PUT, damit dieser Teil funktioniert.

Das Problem hier ist, dass es nicht I add my attachment here But it doesn't appear anywhere in the request

schätzen würde etwas Hilfe :)

+0

Die Standard-Form-ID, die FineUploader für Form qq ist aussehen. Sie haben Ihre ID auf qqform gesetzt, was nicht dasselbe ist. Daher werden Ihre Formularwerte nicht in den Post aufgenommen. Sie können auch die ID des Formulars angeben, das FineUploader verwenden soll, anstatt die ID des Formulars selbst in qq-form zu ändern. Fügen Sie Ihrem JS ... -Formular Folgendes hinzu: {element: "someTestFormId"} Siehe auch http://Stackoverflow.com/a/41492246/4975760 und http://docs.fineuloader.com/branch/master/api /options.html#formular – Dacker

Antwort

0

Vielleicht könnte dieses Beispiel Sie arbeiten helfen - http://fineuploader.com/demos.html#manually-trigger-uploads

Klicken Sie einfach „Code anzeigen ", kopieren Sie den Code und starten Sie die Implementierung. Nehmen Sie Ihre Änderungen an HTML vor und es sollte funktionieren. Und sehen Sie sich die Registerkarte XHR auf "Dev Tools" an. Wenn Sie etwas fehlt XHR Antwort wird Fehler zurückgeben.

Hoffen, dass es helfen wird :)

Verwandte Themen