Mehrere Datei-upload in Liferay 6.1

Hat jemand versucht, mehrere Datei-upload in Liferay 6.1. Ich habe versucht, es zu tun die gleiche Weise, wie es in 6.0 und dessen scheitern schlecht. Ich sehe, beginnen link Links oben auf der Seite und nicht innerhalb der portlet. Wenn ich klicken Sie auf, und wählen Sie einige Dateien, die Steuerung geht nicht um meine portlet. Ich habe meine portlet.xml und überprüft, die die portlet-Klasse die richtige ist. Hier ist das snippet in jsp

<liferay-portlet:actionURL doAsUserId="<%= user.getUserId() %>" windowState="pop_up" name="uploadFile" var="uploadFileURL" >
    <portlet:param name="jspPage" value="/html/fileuploadportlet/view.jsp" />
</liferay-portlet:actionURL>


<div class="lfr-dynamic-uploader">
        <div class="lfr-upload-container" id="<portlet:namespace />fileUpload"></div>
    </div>
<div id="<portlet:namespace/>fallback"></div>
<aui:script use="liferay-upload">
    new Liferay.Upload({
        allowedFileTypes: '<%= StringUtil.merge(PrefsPropsUtil.getStringArray(PropsKeys.DL_FILE_EXTENSIONS, StringPool.COMMA)) %>',
        container: '#<portlet:namespace />fileUpload',
        maxFileSize: <%=Long.parseLong(PrefsPropsUtil.getString(PropsKeys.DL_FILE_MAX_SIZE)) %> /1024,
        namespace:'<%=renderResponse.getNamespace()%>',
        uploadFile: '<%=uploadFileURL.toString()%>',
        buttonHeight: 100,
        buttonText: 'BEGIN',
        buttonWidth: 100,
        onFileComplete: function(){alert('fileComplete');},
        onUploadError: function(){alert('error');}
    });
</aui:script>

Und hier ist der processAction-Methode des my-portlet

@Override
    public void processAction(ActionRequest actionRequest,
            ActionResponse actionResponse) throws IOException, PortletException {
        System.out.println("Something");
        UploadPortletRequest uploadRequest=PortalUtil.getUploadPortletRequest(actionRequest);
        File file =uploadRequest.getFile("file");
        System.out.println(file.getName());
        for(int i=0;i<50000;i++){
            System.out.println("Something");
        }

    }

Mehrere Datei-upload in Liferay 6.1

  • Können Sie uns zeigen, was geschieht, in der developer console ?
  • Es sagt tempFileURL ist undefiniert [Pause zu Diesem Fehler] ...empFileURL['method'](tempFileURL['params'], A. bind('_formatTempFiles', Beispiel)...
  • Einen screenshot Hinzugefügt
  • Komischer Fehler, es ist JS engine-Fehler. Sie sind alle Motor-Dateien?
  • Können Sie zeigen Upload.js Datei ? Und do man es ändern (upload.js) ?
  • Soweit ich weiß, brauche ich nicht zu zählen upload.js in meinem portlet. Es ist der Inhalt leicht verfügbar sein sollte aus portal. Ich nicht ändern upload.js. Sie möchten die upload.js von der WURZEL?
  • Ok, wenn Sie sich nicht ändern-engine-Dateien, keine Sorge. tempFileURL es ist Objekt, nicht einfache Variablen wie string oder integer. Verwenden Sie versuchen, verwenden Sie es in einem anderen browser (Chrome, Safari ?
  • Chrome gleiche Verhalten. Im IE die Kontrolle geht an den Portlet gehen Sie zu der processAction-Methode, was bedeutet, dass seine arbeiten auch im IE. Aber in allen drei Fällen die Komponente erscheint auf der oberen linken Seite wie gezeigt in der Abbildung. Haben Sie versucht, die liferay multifile-upload in 6.1?
  • Sorry, Nein, habe ich nicht. Meiner Meinung nach ist es ein engine-Fehler (ich.e-Komponente keine crossbrowser). Sorry für mein Englisch, aber wenn es mein problem sein, ich werde versuchen, die in JS-Dateien tempFileURL Objekt und sehen, was mit geschieht es. Wenn im JS-Dateien, die ich nicht finden-Objekt/variable tempFileURL das bedeutet, dass die Komponente beschädigt
  • macht Sinn. Danke

InformationsquelleAutor Sandeep Nair | 2012-06-08
Schreibe einen Kommentar