[ad_1]
たとえば、「https://www.[REDACTED].com/article/toDownload.pdf”
ブラウザにURLを貼り付けるとPDFがダウンロードされます。
私がしたいのは、PDFをダウンロードして次のように変換することです base64
。
問題:
しかし、コードを次のように変換した後、 base64
、適切な PDF 形式が表示されません。 Base64に変換されますが、デコード後は base64
オンラインで PDF に変換すると、有効な形式が表示されません。
誰かこれを手伝ってくれませんか?
C#
string downloadPdf = "https://www.[REDACTED].com/article/toDownload.pdf"; using (WebClient webClient = new WebClient()) { webClient.Headers["Cache-Control"]= "public"; webClient.Headers["Content-Description"] = "File Transfer"; webClient.Headers["Content-Disposition"] = "attachment; filename=$sample\".\".pdf"; webClient.Headers["Content-Type"] = "application/pdf"; webClient.Headers["Content-Transfer"] = "binary"; byte[] imageBytes = webClient.DownloadData(downloadPdf); var base64 = Convert.ToBase64String(imageBytes); }
オンライン ツールでは、base64 を PDF にデコードした後に次のエラーが表示されます。
"The MIME of file was detected as "application/octet-stream", but the decoder displays it as "application/pdf". To view it as is , Your browser cannot display the file as "application/pdf"."
私が試したこと:
Google から入手した別のコードを試しましたが、同じ問題に直面しています。 私も使いました httpWebRequest
C#で。
解決策 1
まず、実際にダウンロードしたものを確認します。そこから得られるものは、PDF ファイルではなく HTML ページである可能性が高いです。
確認する最も簡単な方法は、データをダウンロードしてローカルに PDF ファイルに保存し、PDF ビューアで開いて問題がないことを確認することです。 あればPDFデータです。 そうでない場合は、エディタを使用して調べてみると、おそらくそれが実際に何であるかがわかるでしょう。
[ad_2]
コメント