質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

解決済

2回答

1673閲覧

C# WebRequest POST で エクセルファイルをアップロードすると壊れる

Com

総合スコア30

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

0クリップ

投稿2019/03/07 07:06

C# で エクセルファイルをアップロードすると壊れるのですが
何が原因かわかりますでしょうか?

こちらのサイトを参考にしてファイルのアップロードを行いまして
テキストファイルはうまくいくのですが、エクセルファイルをアップロードすると
アップロードは成功しますが、ファイルが壊れております。
https://qiita.com/tsuttie/items/4a015f0a9ea6daf1ab8c

Content-Type: application/vnd.ms-excel と記載してもダメでした。

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

当てずっぽうですが、リンク先のサンプルはテキストファイルを一行ずつ読み込んで結合してUTF-8としてエンコードしてアップロードしているように見えます。

エクセルファイルのようなバイナリ形式でそんな事をすると内容が破壊されてしまうので、

File.ReadAllBytes
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.file.readallbytes?view=netframework-4.7.2

などを使ってバイナリをそのまま読み込んで、ストリームに流し込めば良いのかなと思いました。
(特にBASE64とかは不要でそのままバイナリのまま流せばいいのかな?)

投稿2019/03/07 07:45

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Com

2019/03/07 23:22

すみません!ありがとうございます!
guest

0

ベストアンサー

エクセルファイルはテキストじゃないのでダメです
バイナリファイルとしてアップロードしましょう

投稿2019/03/07 07:14

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/03/07 07:39

だからバイナリとしてアップロードしよう、というはなしなわけですねー
Com

2019/03/07 23:21

はぁーーー!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問