汎用ハンドラーで処理しているxmlを含むユーザーファイルからファイルを読み取り、クライアントに渡します。
私が抱えている問題は、xmlの文字列をクライアントに渡すときです。適切な形式ではありません。"<xml 1.0>"
クライアントコードを通して見ると、ルートタグとタグが完全に削除さ れます。
クライアントに到達したときにxml文字列をそのまま保持するコードを探しています。
System.IO
サーバーで使用しているファイルからxmlを読み取っています。
public void ProcessRequest(HttpContext context)
{
if (context.Request.Files.Count > 0)
{
string path = context.Server.MapPath("~/Temp");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
var file = context.Request.Files[0];
string fileName;
if (HttpContext.Current.Request.Browser.Browser.ToUpper() == "IE")
{
string[] files = file.FileName.Split(new char[] { '\\' });
fileName = files[files.Length - 1];
}
else
{
fileName = file.FileName;
}
string strFileName = fileName;
fileName = Path.Combine(path, fileName);
file.SaveAs(fileName);
string msg = File.ReadAllText(fileName);
File.Delete(fileName);
context.Response.Write(msg);
}
}
xmlは常に「Gambardella...」で始まります。何らかの理由で、cientに送信されるときにファイルの先頭を読み取ることができません。
これがサンプルxmlの画像です。
データはハンドラーから正常に送信されますが、クライアントは最上位の情報を切り捨てます。私が使用しているプラグインは、iframeからデータを保存(または取得)しているようです。iframeが最初のxmlを切り取った原因である可能性がありますか?
私が使用しているサンプルクライアントコードはこちらです