none
WebClient.DownloadFileを使って、エクセルファイルに破損が出ています。 RRS feed

  • 質問

  • お世話になっております。keveinyouです。

    現在のプロジェクトで、

    ftpからテンプレート(エクセルファイル)を一時フォルダーにダウンロードして、

    エクセルファイルを開いて操作する処理がありまして、

    WebClient.DownloadFileを使って、ftpからダウンロードする処理を実現しています。

    ネットで調べたところ、特に難しし処理ではないみたいなので、ソースは以下のようにしています。

    Dim webcl As New WebClient()

    webcl.Credentials = New NetworkCredential(”user”, ”パスワード”)

    webcl.DownloadFile(serverUri, FilePath)

    ※serverUriはテンプレートファイルパス

      FilePathは一時フォルダーのパス、動的に生成していますので、ファイル名の重複はないと思います。

    しかし、ローカルでうまく動作ができますが、

    サーバにデプロィすると、正常にダウンロードする場合もありますが、エラーになる場合もあります。

    エラーになる場合、一時フォルダーのファイルを確認してみたら、ファイルが存在していますが、

    ファイルサイズがテンプレートより小さいし、

    開いてみたら、下記メッセージが表示されていて、ファイルが開けない状態となっています。

    「”xxx.xlsx”には読み取れない内容が含まれています。」

    サーバでの動作が不安定で、ローカルではふつうに動作できるので、原因を特定するのが難しくて、

    ネットで調べてみても、うまくヒットされませんでした。

    だれかが助けてくれませんか?

    2015年3月17日 2:22

すべての返信

  • 今回質問者さんが選んだフォーラム ASP.NET は適切なのでしょうか?

    WebClient.DownloadFile を ASP.NET Web アプリで使うということは考えにくいです。クライアント側の話ですか? サーバー側はどうなっているのですか? 全体的にどういう構成にになっているのですか?

    これも先のスレッドでお願いしましたが、質問する際は、一番最初に、何を作っているのか、ご自分の環境に関する情報を最低書いていただけませんか?

    同じことをもう一度書きますが、質問する際のガイドラインが出ていますので目を通していただければと思います。
     
    フォーラムのご利用方法(質問の投稿)について
    https://social.technet.microsoft.com/Forums/ja-JP/home?forum=announceja&announcementId=587d27f8-adc8-432a-905c-81375f8a05ec

    2015年3月17日 4:06