0

小さな GPS ロガーからアップロードされた NMEA トラック ファイルを取り込む asp.net MVC アプリケーションがあります。場合によっては、ロガーが null (0x0) 値をトラック ファイル テキストに挿入します。処理のためにファイルをサーバーのファイル システムに保存する前に、HttpPostedFile の InputStream からこれらの 0x0 文字を削除する方法はありますか? そのままでは、最初のヌル文字にしか到達できず、それがサーバーに保存されるすべてのファイルです。

ありがとう、マシュー

4

2 に答える 2

0

SaveAs を使用する場合は、ゼロを書き込む必要があります。デバッガーで InputStream の内容を確認できますか (たとえば、上記の読み取り方法を使用して) - HttpPostedFile にゼロが含まれていること、つまりデータを正しく受け取っていることを確認できますか? アップロード フォームに ENCTYPE="multipart/form-data" を使用していますか?

于 2009-11-02T21:36:26.203 に答える
0

InputStream はバイナリであり、ゼロを気にする必要はありません。したがって、問題はテキストへのデータ変換にありますが、変換に使用するコードは示されていません。

手動でゼロをスキップ/置換できます:

var outstream = new StringStream();
var b;
while ((b = http.InputStream.ReadByte()) != -1)
  if (b != 0)
      outstream.Write(b);

これで、ゼロのないストリームが得られました(もちろん、必要に応じてブロックなどで読み取ることができます)。

于 2009-11-02T19:22:50.957 に答える