問題タブ [httppostedfilebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
18512 参照

asp.net-mvc - パラメータがModelの場合、ASP.NETMVCはファイルモデルバインディングを投稿しました

カスタムモデルバインダーで要求コンテキストを手動で確認したり、投稿されたファイルのみを入力として受け取る別のアクションメソッドを作成したりせずに、投稿されたファイル(<input type="file" />)をASP.NET MVCのモデルバインディングに参加させる方法はありますか?

私はこれがうまくいくと思っていたでしょう:

しかし、上記のシナリオを考えるMyFileと、バインディングコンテキストの値プロバイダー値の一部でさえありません。OtherPropertyもちろんです。)しかし、これを行うと機能します。

では、パラメーターがモデルの場合、なぜバインディングが発生しないのでしょうか。また、どうすればそれを機能させることができますか?カスタムモデルバインダーを使用しても問題はありませんが、カスタムモデルバインダーでこれを確認せずに行うにはどうすればよいRequest.Files["MyFile"]ですか?

一貫性、明確性、テスト容易性のために、リクエストコンテキストを手動で検査することなく、投稿されたファイルにバインドされたプロパティを含む、モデル上のすべてのプロパティの自動バインドをコードで提供したいと思います。私は現在、ScottHanselmanが書いたアプローチを使用してモデルバインディングをテストしています。

それとも私はこれを間違った方法で行っていますか?これをどのように解決しますか?または、Request.FormとRequest.Filesの分離の歴史があるため、これは設計上不可能ですか?

0 投票する
1 に答える
1821 参照

asp.net-mvc - HttpPostedFile が広告どおりに実行されず、ダウンロードがメモリではなくディスクにバッファリングされないのはなぜですか?

<input>マルチパート フォーム データをポストする標準の HTML コントロールを使用して、大きなファイルを ASP.NET サーバーにアップロードしています。これは ASP.NET MVC アプリケーションです。

MSDN によると、HttpPostedFileクラスはすぐにディスクにバッファリングされます。

「ファイルは MIME multipart/form-data 形式でアップロードされます。デフォルトでは、フォーム フィールドやアップロードされたファイルを含む、256 KB を超えるすべてのリクエストは、サーバー メモリに保持されるのではなく、ディスクにバッファリングされます。」

これはHttpPostedFileBase、コントローラーにアクセスするとき、HttpPostedFileBaseInputStreamプロパティにアクセスするときに、サーバーのメモリ不足を心配することなく、どこかにファイル バッファーを書き込むことができることを意味すると思います。これは明らかに実行できない解決策です。

からの受信ファイルのそれぞれをどのように処理しているかを示す擬似コードを次に示しますHttpPostedFileBase

私の web.config の httpRuntime ブロックは次のようになります。

私の実装は機能し、ペイロード全体をバッファリングするために必要な同じ量のメモリがサーバーによって消費されることを除いて、複数のファイルが期待どおりにアップロードされます。InputStream がすべてをバッファリングしていると想定する必要があります。メモリの容量よりも多くのファイルをアップロードすると、予想どおりOutOfMemoryException. これは、800 MB のファイルをアップロードするときのメモリ スパイクの画像です。

代替テキスト

Flash/Silverlight ウィジェットを使用したり、カスタムを作成してアップロードをインターセプトして自分で処理したりできることはわかっていますが、 MSDN の言う通りにすれば (または私のやり方が間違っている場合) HttpModule、現在の要件は問題なく機能します。HttpPostedFile

0 投票する
2 に答える
38201 参照

image - HttpPostedFileBaseを画像に変換するにはどうすればよいですか?

ASP.NET MVCを使用していて、ファイルをアップロードするアクションがあります。ファイルは正しくアップロードされています。ただし、画像の幅と高さが必要です。最初にに変換してから続行HttpPostedFileBaseする必要があると思います。Imageそれ、どうやったら出来るの?

また、画像の幅と高さを取得する別のより良い方法があるかどうかをお知らせください。

0 投票する
2 に答える
3084 参照

asp.net-mvc - ASP.Net MVC イメージのアップロードが Google Chrome で失敗する

画像アップロードフォームがあります

それはアクションに戻って投稿します

このコードは、Google Chrome を除くすべてのブラウザーで機能します。私の IDE は Visual Studio 2k8 です。Google Chrome でデバッグする方法がわかりませんが、エラー メッセージが表示されます。Chrome では何らかの理由で次のチェックに合格しないことがわかっています。

どうやら、Chrome では、HttpPostedFileBase パラメーターの画像が正しくエンコードされておらず、MIME タイプが失われているようですが、これだけが問題ではない可能性があります。Chrome での HttpPostedFileBase パラメータの何が問題なのですか?どうすれば修正できますか?

ご清聴ありがとうございました。ご協力いただきありがとうございます。

0 投票する
2 に答える
5584 参照

asp.net-mvc - モデル バインディング HttpPostedFileBase とファイルのデータストアへの保存

ASP.NET MVC は、HTML フォームのファイル入力フィールドと HttpPostedFileBase の間を正しく自動的にバインドしているようです。一方、ファイル入力フィールドからバイト配列にバインドできません.試してみたところ、Base64に変換できないという例外が発生しました。以前はモデル クラスにバイト配列プロパティしかありませんでした。これは、後でオブジェクトを XML ファイルにシリアル化するために必要になるためです。

今、私はこの回避策を考え出し、うまくいきましたが、これがうまくいくかどうかはわかりません:

0 投票する
1 に答える
413 参照

c# - ASP.NET MVC でファイルをアップロードしようとすると、null と表示される

何らかの理由で、パラメーターOriginalLocationは常にnull次のコードにあります。私は何を間違っていますか?

コントローラ:

意見:

モデル:

0 投票する
1 に答える
933 参照

asp.net-mvc - ASP.NET MVC ファイルのアップロード

やあ、

私のモデル(部分)

私の行動

ファイルアップローダ

私が抱えている問題は、AddDocument ボタンが押されたときに、空のモデルがコントローラーのアクションに渡されることです。また、HttpPostedFileBase の基本プロパティは System.NotImplementException を返します。

モデルをアクションに正しく渡すために何をする必要があるか教えてもらえますか?

0 投票する
2 に答える
4904 参照

asp.net - ASP.NETMVCがモデルを*一緒に*ファイルと一緒にコントローラーに渡す

わかりました、私はこれに数時間行ってきました、そして私は単に解決策を見つけることができません。

ユーザーからデータを取得したい。したがって、最初に、コントローラーを使用して、モデルを受け取るビューを作成します。

次に、私はビューを持っています:

そして最後に-元のコントローラーですが、今回はデータを受け入れるように構成されています:

私が何をしても、(または)のcount属性は0のままなので、このコントローラーの残りの部分は重要ではありません。フォームからファイルを渡す方法が見つかりません(モデルは問題なく渡されます)。Request.FilesRequest.Files.Keys

0 投票する
3 に答える
3311 参照

c# - 静的メソッドを含むメソッドを単体テストするにはどうすればよいですか?

これはできますか?これが私がテストしている方法です:

単体テストでは、Rhino.Mocksを使用しており、_file.SaveAs()が呼び出されたことを確認したいと思います。_file(HttpPostedFileBaseオブジェクト)をモックアウトして、このメソッドのクラスコンストラクターに挿入しました。この単体テストを実行したいのですが、実際にはDirectory.CreateDirectory呼び出しを実行しません。これは可能ですか?

0 投票する
1 に答える
3785 参照

asp.net-mvc - HttpPostedFileBase を支持する System.IO.Stream

メンバーが写真をアップロードできるようにするサイトがあります。MVC コントローラーではFormCollection、アクションのパラメーターとして を取得します。次に、最初のファイルを type として読み取りますHttpPostedFileBase。これを使用してサムネイルを生成します。これはすべてうまくいきます。

メンバーが自分の写真をアップロードできるようにするだけでなく、 を使用してSystem.Net.WebClient自分で写真をインポートしたいと考えています。

アップロードされた写真 (ファイル) を処理するメソッドを一般化して、特定のHttpPostedFileBase.

にはファイルのストリームを含むプロパティがあり、HttpPostedFileBaseStreamを返すメソッドがあるため、すべてを Stream に基づいて作成しようとしています。InputStreamWebClientOpenRead

ただし、 Stream overを使用すると、ファイルの検証に使用するプロパティが失われHttpPostedFileBaseているように見えます。ContentTypeContentLength

以前にバイナリ ストリームを使用したことがありませんが、ストリームからContentTypeandを取得する方法はありContentLengthますか? HttpPostedFileBaseまたは、ストリームを使用してオブジェクトを作成する方法はありますか?