UIクラスライブラリプロジェクトでの業務を処理するファイルを作成する方法
<input type = "file" title="Please upload some file" name="file" />
MVC
/*below method is called from a MVC controller
this method resides for now in MVC project itself*/
public IEnumerable<CustomerTO> FetchJson(HttpPostedFile file)
{
using (StreamReader sr = new StreamReader(file.FileName))
{
{
file.saveAs("details.txt");
string json = sr.ReadToEnd();
IEnumerable<CustomerTO> customers=
JsonConvert.DeserializeObject<List<CustomerTO>>(json);
return customers;
}
}
}
MVCプロジェクトで、上記の方法またはWebベースのプロジェクトのいくつかの種類が、すべての参照が罰金を見つけるです。
しかし、このような操作をすべて処理するユーティリティクラスを作成することを考えています。 は、だから私は今、私がするFileUploadは、UIコントロールHttpPostedFileこれに関連するすべての操作を処理している知っているクラスUtitlity.cs
クラスライブラリ
public IEnumerable<CustomerTO> FetchJson(HttpPostedFile file)
{
//but HttpPostedFile is throwing error.
//NOTE Ideally,I shouldn't be saving the posted file
}
を追加&クラスライブラリプロジェクトを作成しました。
私は簡単に参考文献using System.Web
を追加することができますが、それは正しいのでしょうか?
しかし、私はどのようにオーバーヘッドの種類のない私の要件に対処しますか? メモリ割り当て、実行&このようなすべてのあなたは、コントローラのメソッドが正常に掲示ファイル参照を受けていることを確認した後
ファイルの入力に 'name'属性がないので、最初の作業をどのように行うことができるかはわかりません。そのため、パラメータは' null'になります。そして、あなたは2番目の 'ユーティリティ'メソッドをどのように呼び出すのですか?リクエストを受け取るには 'Controller'にアクションメソッドが必要です。 –
@StephenMuecke、申し訳ありません!不足している詳細を追加しました –
パラメータ 'HttpPostedFile file'にバインドするには' name = "file" 'が必要です:) –