2016-06-26 4 views
0

ich eine api programmieren müssen speichern, die 3 Teile hat:MVC - Wie beantragen und eine PDF-Datei von einer URL

  1. die pdf-Datei von pdf url holen.
  2. Konvertieren der PDF.
  3. Geben Sie die konvertierte PDF-Datei zurück.

ich bereits Teil 2 und 3 abgeschlossen hat, was noch übrig ist, um die pdf von URL und kopieren/laden Sie es auf meinen mvc web api zu holen.

Dies ist der Test HTML-Code:

<script> 
 
    $('#btnSendRequest').on('click', function() { 
 
    $.ajax({ 
 
     type: "POST", 
 
     url: "/Convertor/Html", 
 
     data: { 
 
     strUrl: "http://make-sense.co.il/kb/avcp-script-installation.pdf" 
 
     }, 
 
     success: function(data) { 
 
     return true; 
 
     }, 
 
    }); 
 
    }); < /script>
<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
 
    <title>tester</title> 
 
</head> 
 

 
<body> 
 
    <h1>tester html</h1> 
 
    <div> 
 
    <input id="btnSendRequest" type="button" value="SendHttpRequest" /> 
 

 
    </div>

Meine Action Funktion: "Konverter/html", wird die URL-Zeichenfolge von der Webseite. Was ich brauche ist, wenn ich auf die Schaltfläche klicke, wird die PDF-Datei automatisch auf meinen Server heruntergeladen.

public ActionResult Html(string strUrl) 
    { 
     return View(); 
    } 

Jeder hat eine Idee, wie das gemacht werden kann? Ich las auch irgendwo auf etwas namens Base64-Codierung, die auch die Lösung sein könnte, aber ich habe es noch nie zuvor verwendet.

Vielen Dank im Voraus.

+0

Siehe http://stackoverflow.com/questions/4545311/download-a-file-by-jquery-ajax – haim770

Antwort

2

Was Sie möglicherweise suchen, ist der WebClient auf .NET, siehe das folgende Beispiel, ich habe es gerade aus einem Beispiel online genommen, siehe here für den ganzen Artikel.

müssen Sie die weitere Verarbeitung vornehmen, indem Sie das Byte [] als Datei speichern. Der obige Beispielcode ist für eine Konsolen-App, aber das gleiche kann in Ihrem MVC-Controller implementiert werden.

+0

Aber bitte Ihr Code-Snippet ist eine Desktop-Anwendung bemerken, während die Frage nach Mvc Web-App ist –

+0

Ich habe versucht, die Base64 dieser PDF-Datei mit Stream zu erhalten. Jetzt muss ich diese Base64-String zurück in PDF konvertieren, aber ich bekomme eine Fehlermeldung, die ich versuche zu – barak

+0

Converting to base64 ist nicht notwendig, bitte beachten Sie die Arbeit mit Binärdaten mit dem WebClient, um die Datei auf Ihren Server herunterzuladen. – Ahsan

0
  var request = System.Net.WebRequest.Create("http://make-sense.co.il/kb/avcp-script-installation.pdf"); 
      request.Method = "GET"; 

      using (var response = request.GetResponse()) 
      { 
       using (var stream = response.GetResponseStream()) 
       { 
        using (var fileStream = System.IO.File.Create(@"path/to/file")) 
        { 
         stream.CopyTo(fileStream); 
        } 
       } 
      } 
Verwandte Themen