3

File Download über Button

Lädt euch das erstellte shareFile() direkt in den Downloadordner

let downloadfile := "
<!DOCTYPE html>
<html>
<head>
<style>
  .scroll {
                height: 500px;
                width:500px;
                background-color: white;
}
</style>
</head>
<body>
<p id='dest'>
</p>
<button onclick='download()'>
                  Download file
</button>
<p class='scroll'>
                <iframe
                width=50%
                height=50%
                src='" +
    shareFile() (bitte vorher in ein Textfeld schreiben und Textfeld hier einsetzen) +
    "'
                frameborder=7
                ></iframe>
</p>
</body>
<script src='https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js'></script>
<script>
function download() {
        axios({
            url: '" +
     shareFile() (bitte vorher in ein Textfeld schreiben und Textfeld hier einsetzen) +
    "',
            method: 'GET',
            responseType: 'blob'
        })
            .then((response) => {
                const url = window.URL
               .createObjectURL(new Blob([response.data]));
                const link = document.createElement('a');
                link.href = url;
                link.setAttribute('download', '" +
    last(split(text(Bildfeldname), "/")) +
    "');
                document.body.appendChild(link);
                link.click();
            })
    }
</script>
</html>";
html(downloadfile)

2 Antworten

null
    • T_Bartzsch
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Super Michi, vielen Dank..... ich war letztes Jahr auf der Suche nach so einer Sache, bin aber selber nicht so fit in Javascript. Es klappt übrigens auch auf dem MAC unter Chrome und Firefox.

    Wenn wir jetzt noch über Javascript ein Dokument direkt auf den Drucker schicken können.... dann macht meine DHL API  Anbindung für Versandetiketten endlich Sinn...

      • Michi.1
      • vor 3 Monaten
      • Gemeldet - anzeigen

      ich suche auch nur...

      Hier ist in der Toolbar ein  Button drinnen, welcher die Daten direkt zum Druckaufruf sendet. (dauert teilweise beim Aufrufen).

      Zu finden unter : https://www.amcharts.com/docs/v4/?s=export

      Vielleicht kann das ja jemand umbauen, für andere Zwecke und wieder zur Verfügung stellen.

       

      let aa := "
      <html>
      <script src='//www.amcharts.com/lib/4/core.js'></script>
      <script src='//www.amcharts.com/lib/4/charts.js'></script>
      <script src='//www.amcharts.com/lib/4/themes/animated.js'></script>
      <div id='tools'>
        <strong>Toolbar</strong>
      </div>
      <div id='chartdiv'></div>
      <style>
      body {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
      }
      #chartdiv {
        width: 100%;
        height: 250px;
      }
      #tools {
        border: 1px solid #888;
        border-radius: 4px;
        padding: 0.5em 1em;
        position: relative;
        min-height: 27px;
      }
      .amcharts-amexport-item.amcharts-amexport-item-level-0 {
        opacity: 1;
      }
      </style>
      </html>
      <script>
       /**
       * ---------------------------------------
       * This demo was created using amCharts 4.
       *
       * For more information visit:
       * https://www.amcharts.com/
       *
       * Documentation is available at:
       * https://www.amcharts.com/docs/v4/
       * ---------------------------------------
       */
      am4core.useTheme(am4themes_animated);
      // Create chart instance
      var chart = am4core.create('chartdiv', am4charts.XYChart);
      // Add data
      chart.data = [{
        'date': new Date(2018, 0, 1),
        'value': 450,
        'value2': 362,
        'value3': 699
      }, {
        'date': new Date(2018, 0, 2),
        'value': 269,
        'value2': 450,
        'value3': 841
      }, {
        'date': new Date(2018, 0, 3),
        'value': 700,
        'value2': 358,
        'value3': 699
      }, {
        'date': new Date(2018, 0, 4),
        'value': 490,
        'value2': 367,
        'value3': 500
      }, {
        'date': new Date(2018, 0, 5),
        'value': 500,
        'value2': 485,
        'value3': 369
      }, {
        'date': new Date(2018, 0, 6),
        'value': 550,
        'value2': 354,
        'value3': 250
      }, {
        'date': new Date(2018, 0, 7),
        'value': 420,
        'value2': 350,
        'value3': 600
      }];
      // Create axes
      var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
      dateAxis.renderer.grid.template.location = 0;
      dateAxis.renderer.minGridDistance = 30;
      var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
      // Create series
      function createSeries(field, name) {
        var series = chart.series.push(new am4charts.LineSeries());
        series.dataFields.valueY = field;
        series.dataFields.dateX = 'date';
        series.name = name;
        series.tooltipText = '{dateX}: [b]{valueY}[/]';
        series.strokeWidth = 2;
      
        var bullet = series.bullets.push(new am4charts.CircleBullet());
        bullet.circle.stroke = am4core.color('#fff');
        bullet.circle.strokeWidth = 2;
      }
      createSeries('value', 'Series #1');
      createSeries('value2', 'Series #2');
      createSeries('value3', 'Series #3');
      chart.legend = new am4charts.Legend();
      chart.cursor = new am4charts.XYCursor();
      chart.exporting.menu = new am4core.ExportMenu();
      chart.exporting.menu.container = document.getElementById('tools');
      </script>
      ";
      html(aa)
      

Content aside

  • 3 „Gefällt mir“ Klicks
  • vor 3 MonatenZuletzt aktiv
  • 2Antworten
  • 102Ansichten
  • 2 Folge bereits