2012-04-03 2 views
1

Ist es möglich, einen Webdienst als Quelle für einen iFrame anzugeben?Punkt iframe zu webserivce, um Datei downlaod

Ich versuche, File Download funktioniert zu bekommen, aber da meine Datei als Binär in SQL Server gespeichert ist, kann ich nicht Benutzer auf die bestimmte Datei zeigen. Ich muss die Datei holen, verarbeiten und den Benutzer zum Speichern/Öffnen des Dialogs auffordern. Ich habe mich gefragt, ob es einen Weg gibt, wie ich einen iFrame auf einen Webservice-Aufruf verweisen kann, der für die Verarbeitung der Datei-Download-Anfrage verantwortlich sein wird?

Ich habe den folgenden Code versucht, aber es funktioniert nicht.

Irgendeine Idee, was fehlt mir hier?

<iframe id="downloadFrame" style="display:none"></iframe> 

<input type="button" value="Download File" title="Download File" onclick = "JavaScript: return downloadFlie();" /> 

    function downloadFlie() 
    { 
     var iframe = document.getElementById("downloadFrame"); 
     iframe.src = "Services/svcAttachments.asmx/DownloadFile?FileId=5"; 
     return false 
    } 

Antwort

1

Warum nicht einfach einen Anker und ein Ziel verwenden?

<a href="Services/svcAttachments.asmx/DownloadFile?FileId=5" target="_blank">Download</a> 
+0

Danke. Das funktioniert, aber öffnet ein neues Fenster. Ich habe versucht, mit iFrame das Gefühl zu bekommen, dass alles auf der gleichen Seite passiert ist. – Asdfg

0

Sie könnten zu diesem Zweck einen generischen Handler (* .ashx) verwenden.

Ich habe diese Probe für Sie gegoogelt: http://geekswithblogs.net/hmloo/archive/2012/03/07/how-to-download-files-using-a-generic-handler.aspx

+0

Danke. Das funktioniert, aber öffnet ein neues Fenster. Ich habe versucht, mit iFrame das Gefühl zu bekommen, dass alles auf der gleichen Seite passiert ist. – Asdfg

+0

@Asdfg: Das Öffnen eines Links in einer neuen Registerkarte wird standardmäßig als Standard verwendet. Außerdem sollten Sie berücksichtigen, dass die meisten Benutzer das von Ihnen geplante Verhalten nicht erkennen würden. – citronas

Verwandte Themen