2016-05-24 15 views
1

Visual StudioでコーディングされたC#デスクトップアプリケーションと、20の情報フィールドを要求するWebサイトがあります。ユーザーに.pdfまたは.docxファイルを添付します。私は、単一ユーザの情報を取り込んで処理し、C#アプリケーションで使用するXMLパーサを作成しました。 .pdfと.docxはXMLと同じフォルダにバンドルされているので、.pdfファイルと.docxファイルのパスを使用して呼び出すことができます。Webサイトから構造化データ(XML)と.docxを送るにはどうすればいいですか?

私は、XMLを、ボタンを押すだけで実行するPHPスクリプトで作成し、それをウェブサイトのサーバー上のloctionに保存することを考えていました。 C#ツールは、そのフォルダを取得してXMLを取得し、必要に応じて.pdfと.docxをダウンロードできる必要があります。

私はクロスプラットフォームを組み合わせたことがありません。これは、各XMLのデータを使用して自動化するためにSelenium C#Webオートメーションライブラリを使用している緑色のプロジェクトです。 XMLの処理が終了し、8時間の処理ループが実行され、必要に応じてキュー内の次のXMLが取得されます。

WebサイトからC#アプリケーションへのフォームの移行方法を理解したいと思います。応答を返すことは本当に必要なわけではありませんが、処理中のXMLのキュー内でXML文書がどの順序で処理されているかを知るには、後で作業します。

SOAP /安らかな技術は私がここで車輪を再発明する必要はないと思うので、これはいい考えですが、どちらも有効であるようです。

答えて

1

私は、ファイルのクロスプラットフォームを送信する必要が正しくあなたを理解していれば、あなたはエンコーディングによってバイトストリームを送信することができ、次のようにdeconding:

C#エンコード

Byte[] bytes = File.ReadAllBytes("c:\file.pdf"); 
String file = Convert.ToBase64String(bytes); 

C#デコード

Byte[] bytes = Convert.FromBase64String(b64Str); 
File.WriteAllBytes("c:\file.pdf", bytes); 

PHPエンコード

$b64Doc = chunk_split(base64_encode(file_get_contents("c:\file.pdf"))); 

PHPデコード

$pdf_base64 = "base64string"; 
//Get File content from txt file 
$pdf_base64_handler = fopen($pdf_base64,'r'); 
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64)); 
fclose ($pdf_base64_handler); 
//Decode pdf content 
$pdf_decoded = base64_decode ($pdf_content); 
//Write data back to pdf file 
$pdf = fopen ('"c:\file.pdf','w'); 
fwrite ($pdf,$pdf_decoded); 
//close output file 
fclose ($pdf); 
echo 'Done'; 
+0

私は同じコンピュータ上でWebサイトをホストしていた場合、これは優れたそうです。 PHPスクリプトを実行するウェブサイトは他の場所にあり、私はそのウェブサイトの/ rootの/ privateディレクトリにアクセスすることができます。これは優れているようですが、私はどのようにWebサイトのフォームをC#に接続するかを理解する必要があります。デコードの仕組みが分からないと思うので、ファイルを読むためにはどうすればいいのかと思います。ありがとう – Jayizzle

関連する問題