# saveAlbumAction und uploadAction in Upload.js (Plugin)?

**URL:** <https://forum.shopware.com/t/savealbumaction-und-uploadaction-in-upload-js-plugin/35066>\
**Category:** Programmierung\
**Created:** [6. März 2016 um 14:33 UTC](https://forum.shopware.com/t/savealbumaction-und-uploadaction-in-upload-js-plugin/35066 "2016-03-06T14:33:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxxyoo](https://avatars.discourse-cdn.com/v4/letter/m/ed655f/32.png) [@maxxyoo](https://forum.shopware.com/u/maxxyoo)\
**Post date:** [6. März 2016 um 14:33 UTC](https://forum.shopware.com/t/savealbumaction-und-uploadaction-in-upload-js-plugin/35066/1 "2016-03-06T14:33:48Z")

</div>

Hi,

in meinem&nbsp;Plugin wird ein File Upload realisiert in ein vorgegebenes Album realiasiert:

url: ‚{url controller=„mediaManager“ action=„upload“}?albumID=‘+me.albumId

wobei ich nun gern den Usecase 1.) Album anlegen und 2.)&nbsp;dann die Bilder&nbsp;hochladen realisieren möchte. (Der Albumname soll die Artikel ID&nbsp;oder auch Datum sein…)&nbsp;

&nbsp;

Ich weiß bereits zuverlässig, dass ich erst die action=„saveAlbum“ anwenden können soll um dann verschachtelt action=„upload“ zu initieren.

jetzt Frage ich mich … wie? &nbsp;

und auch … kann der folgende&nbsp;Parameter String für die saveAlbum Action einmal begutachtet werden? … folgendes geht demnach nicht.

&nbsp;

//url: ‚{url controller=„mediaManager“ action=„upload“}?albumID=‘+me.albumId,  
url: ‚{url controller=„mediaManager“ action=„saveAlbum“}?text=‘+selectedArticleID+’&parentId=’+me.albumId+’&iconCls=„sprite-eye–arrow“&createThumbnails=1&thumbnailSize=400x400’,

&nbsp;

und dann habe ich eine abschließende ganz wesentliche Frage… bisher habe ich scheinbar&nbsp;nur den IE und Safari Lösung an der Hand… über die URL …

ich habe keinen Plan wie ich die Verschachtelung und saveAlbumAction für gewöhnlich in der Funktion auflösen&nbsp;kann - Vielen Dank!

&nbsp;

```
createUploadFields: function() {
        var me = this;

        me.fileUploadField = Ext.create('Ext.form.field.File', {
            fieldLabel: me.snippets.mediaUpload,
            buttonOnly: false,
            labelWidth: 100,
            width: '100%',
            name: 'fileId',
            buttonText : me.snippets.upload,
            listeners: {
                scope: this,
                afterrender: function(btn) {
                    btn.fileInputEl.dom.multiple = true;
                },
                change: function(field) {
                    me.fireEvent('mediaUpload', field)
                }
            },
            buttonConfig : {
                iconCls: 'sprite-inbox-upload',
                cls: 'small secondary'
            }
        });

        if(Ext.isIE || Ext.isSafari) {
            var form = Ext.create('Ext.form.Panel', {
                unstyled: true,
                border: 0,
                bodyBorder: 0,
                style: 'background: transparent',
                bodyStyle: 'background: transparent',
                //url: '{url controller="mediaManager" action="upload"}?albumID='+me.albumId,
				//url: '{url controller="mediaManager" action="saveAlbum"}?text='Test'&parentId='+me.albumId+'&iconCls="sprite-eye--arrow"&createThumbnails=1&thumbnailSize=400x400',
				url: '{url controller="mediaManager" action="saveAlbum"}?text='Test'&parentId='+me.albumId+'&iconCls=sprite-eye--arrow',
                items: [me.fileUploadField]
            });
            me.fileUploadField = form;
        }

        // Media selection field
        me.mediaSelection = Ext.create('Shopware.MediaManager.MediaSelection', {
            fieldLabel: me.snippets.mediaSelection,
            labelWidth: 100,
            name: 'media-manager-selection',
            multiSelect: true,
            width: '100%',
            buttonText: me.snippets.mediaSelection,
            buttonConfig : {
                width:150
            },
            albumId: me.albumId,
            allowBlank: false,
            validTypes: me.getAllowedExtensions(),
            validTypeErrorFunction: me.getExtensionErrorCallback()
        });

        return Ext.create('Ext.container.Container', {
            width: '100%',
            layout: 'vbox',
            margin: '20 0 0 0',
            items: [
                me.mediaSelection,
                me.fileUploadField
            ]
        });
    },

```

&nbsp;
