Ciao a tutti.
sto attualmente sviluppando un software Adobe, denominato cq5, una sorta di CMS avanzato del quale sto implementando nuove funzionalità.
Mi trovo però, ahimè, davanti ad uno scoglio..
Vi spiego: ho la mia bella pagina di report, che è un riassunto di tutti i componenti utilizzati nel sito gestito dall'utente X.
In questa pagina voglio creare un download del report, e fin qui tutto ok.
il fatto è che il salvataggio crea un file "nome random".part !!
rinominandolo in .cvs comunque funziona perfettamente, e fa quello che deve. però vorrei evitare di doverlo rinominare a mano
Come mai? Vi linko lo scriprtino JS utilizzato per fare ciò
codice:<body> <script src=”/libs/cq/ui/resources/cq-ui.js” type=”text/javascript”></script> <h2><%= actualTitle %><a href=”javascript:exportCSV()”>Export</a></h2> <% if (description != null) { %> <%= description %></p><% } %> il tutto è dentro una jsp. Grazie dell'eventuale aiuto!! :ciauz: <cq:include path=”report” resourceType=”<%= actualResourceType %>”/> <script> function convertJSON2CSV(objArray,rep) { var array = typeof objArray != ‘object’ ? JSON.parse(objArray) : objArray; var str = ”; for (var i = 0; i < array.length; i++) { var line = ”; for (var index in array[i]) { if(line != ”){ line += ‘,’ } if(typeof array[i][index] != ‘object’ ){ line += checkApplyClientFilter(array[i][index],index); }else{ line += array[i][index].display; } } str += line + ‘\r\n’; } return str; } function checkApplyClientFilter(val,index){ var retStr = val ; if(clientFilterList[index]){ retStr = clientFilterList[index](val); } return retStr; } function findClientFilter(rep){ for (var i = 0; i < rep.columns.length; i++) { if(rep.columns[i].definitions.data && rep.columns[i].definitions.data.clientFilter){ clientFilterList[rep.columns[i].dataId] = rep.columns[i].definitions.data.clientFilter; } } } function downloadcsv(str){ if (navigator.appName != ‘Microsoft Internet Explorer’) { window.open(‘data:text/csv;charset=utf-8,’ + escape(str)); } else { var popup = window.open(”,’csv’,”); popup.document.body.innerHTML = ‘<pre>’ + str + ‘</pre>’; } } clientFilterList = []; function exportCSV(){ var rep = CQ.reports.Report.theInstance; var repurl= rep.reportPath + “.” + rep.reportSelector + CQ.HTTP.EXTENSION_JSON; CQ.HTTP.get(repurl, function(options, success, response) { if (success) { var repData = CQ.Util.formatData(CQ.Ext.util.JSON.decode(response.responseText)); var csv = “result,”+ repData.results + ‘\r\n’; findClientFilter(rep); csv = csv + convertJSON2CSV(JSON.parse(CQ.Ext.util.JSON.encode(repData.hits)),rep); downloadcsv(csv); } }, this); } </script> <div id=”CQ”> <div id=”reportView”> </div> </div> </body>

					
					
					
						
  Rispondi quotando