Frage

Ich bin neu in der Kendo-Benutzeroberfläche und verwende das Plugin zum Hochladen von Dateien in meinem asp.net mvc-Anwendung.Alles funktioniert wie ein Traum.Aber ich habe eine zusätzliche Anforderung.Wenn ich die Datei hochlade, weise ich der Bilddatei eine eindeutige Bild-GUID zu, lade sie hoch und kehre dann zur Rückruffunktion zurück.Hier ist mein Code.

<script type="text/javascript">
    $(document).ready(function () {
        $("#attachments").kendoUpload({
            async: {
                saveUrl: '@Url.Action("UploadBlogImages", "Blog")',
                removeUrl: '@Url.Action("Remove", "Blog")',
                autoUpload: true
            },
            success: function (data) {
                var imageGuids = data.response;
                $.each(imageGuids, function (index, imageGuid) {
                    $('#form_uploadPic').append('<input type="hidden" value=' + imageGuid + 'name="ImgGuid">');
                });
            }
        });
    });
</script>

Ich muss die Datei löschen, wenn der Benutzer auf die Schaltfläche zum Entfernen klickt, aber mein Problem ist, standardmäßig übergibt die Schaltfläche Entfernen den Namen der Datei (die zum Zeitpunkt des Uploads verwendet wurde) als zu löschenden Dateinamen.Aber ich bin umbenennen der Datei vor dem Hochladen auf den Server.Ich weise der Datei eine eindeutige GUID zu.Ich habe diese Anleitung an die Erfolgsfunktion zurückgegeben.Wie konfiguriere ich so, dass die Schaltfläche zum Entfernen diese GUID zum Löschen der Datei an den Server übergibt.

Danke, S

War es hilfreich?

Lösung

Interessantes Szenario.Es gibt jetzt zwei Möglichkeiten, dies zu tun:

  1. Suchen Sie bei Erfolg das li-Element, das den Dateieintrag darstellt, und rufen Sie es ab fileNames daten-* Attribut.Stellen Sie die name eigentum des abgerufenen fileNames objekt auf den GUID-Wert, den Sie vom Server zurückerhalten haben.Dadurch wird im Wesentlichen der Dateiname aktualisiert, der von der Entfernungsfunktion des Kendo-Upload-Steuerelements verwendet wird.(Wenn Sie die Originalquelle in die Hände bekommen, suchen Sie nach den Methoden removeUploadedFile und _submitRemove , all dies wird sehr sinnvoll sein.)

  2. Die sauberere (etwas) Option besteht darin, bei Erfolg das neu hinzugefügte li-Element (fileEntry) zu finden und dann die zugehörige Schaltfläche zum Entfernen (Klasse) zu verwenden :k-Upload-Aktion).Sobald Sie die Schaltfläche zum Entfernen haben, können Sie ein Klickereignis anschließen, über das Sie Ihre eigene benutzerdefinierte URL oder die removeUrl des Upload-Steuerelements aufrufen und die Datei-GUID übergeben, die Sie beim erfolgreichen Upload abgerufen haben.

Andere Tipps

Eine andere Option besteht darin, die ID an das Dateiobjekt selbst hinzuzufügen, sodass dies im Onsuccess-Handler dieses hinzugefügt wird: generasacodicetagpre.

Ändern Sie dann im Remove-Handler den Namen in die ID: generasacodicetagpre.

Setup so: generasacodicetagpre.

arbeitet auf neuesten Kendoui

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top