MVC内でファイルをアップロードしようとしています。私がSOで見たほとんどの解決策はウェブフォームを使用しています。私はそれを使いたくないし、個人的にストリームを使うことを好みます。 RESTfulなファイルアップロードをMVCに実装するにはどうすればよいですか?ありがとう!MVCでのファイルアップロード
7
A
答えて
13
編集:あなたが思っていたときには、すべてがわかっていると、より良い方法があることに気づくでしょう。 http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx
オリジナルチェックアウト: 私は私があなたの質問に100%を理解していることを確認していないが、私はあなたがHTTPのようになりますURLにファイルをアップロードすることを想定:// {サーバ名}/{コントローラ} /アップロード?これは、Webフォームを使用した通常のファイルアップロードとまったく同じように実装されます。
だからあなたのコントローラは、アップロードという名前の作用を有し、このようになります。この場合
//For MVC ver 2 use:
[HttpPost]
//For MVC ver 1 use:
//[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload()
{
try
{
foreach (HttpPostedFile file in Request.Files)
{
//Save to a file
file.SaveAs(Path.Combine("C:\\File_Store\\", Path.GetFileName(file.FileName)));
// * OR *
//Use file.InputStream to access the uploaded file as a stream
byte[] buffer = new byte[1024];
int read = file.InputStream.Read(buffer, 0, buffer.Length);
while (read > 0)
{
//do stuff with the buffer
read = file.InputStream.Read(buffer, 0, buffer.Length);
}
}
return Json(new { Result = "Complete" });
}
catch (Exception)
{
return Json(new { Result = "Error" });
}
}
私は成功を示すためにJSONを返すのですが、あなたは(そのことについてか何か)XMLにこれを変更することができます必要に応じて。
0
public ActionResult register(FormCollection collection, HttpPostedFileBase FileUpload1){
RegistrationIMG regimg = new RegistrationIMG();
string ext = Path.GetExtension(FileUpload1.FileName);
string path = Server.MapPath("~/image/");
FileUpload1.SaveAs(path + reg.email + ext);
regimg.Image = @Url.Content("~/image/" + reg.email + ext);
db.SaveChanges();}
関連する問題
- 1. MVC - ファイルアップロード
- 2. ファイルアップロードmvcプロジェクト
- 3. Spring 3でのファイルアップロードMVC - ヌルポインタ例外
- 4. C#でASP.NET MVC with razorのファイルアップロード
- 5. Spring MVC - ファイルアップロード - Etat HTTP 500エラーメッセージ
- 6. ファイルアップロード機能 - ASP.NET MVC/AJAX
- 7. ASP.Net MVCファイルアップロードが動作しません
- 8. エラー406とSpring MVCとBlueimp jQueryファイルアップロード
- 9. Spring MVC 4ファイルアップロードがサイレントモードで失敗する
- 10. Multipart Spring MVCファイルアップロードで.tmpファイルが削除されない
- 11. ASP.NET MVC RazorフォームからEFへファイルアップロードでフォームを作成
- 12. ASP.NET MVC 3でファイルアップロードをJPG、PNG、GIFに制限する方法
- 13. ファイルアップロード者(入力=ファイル)からMVCでモデル化する方法
- 14. web2pyでのファイルアップロード
- 15. ASP.Net MVC剣道ファイルアップロードの検証が機能しない
- 16. コントロールは、ブートストラップをレンダリングしません。asp.net mvcのファイルアップロード
- 17. HTML5オフラインアプリケーションでのファイルアップロード
- 18. Jmeter:Jmeterスクリプトでのファイルアップロード
- 19. ファイルアップロードDjangoでのアクセス
- 20. Lithium frameworkでのファイルアップロード
- 21. AJAXモーダルウィンドウでのファイルアップロード
- 22. Meteor Appでのファイルアップロード
- 23. ASP.NET MVCで単一のファイルアップロードの問題を持つ複数のファイル
- 24. (AngularJS 2)とASP.net MVC Web APIを使用したファイルアップロード
- 25. フォーム提出(asp.net mvc + jquery ajax)でファイルアップロードを行うことはできますか?
- 26. IE8でのファイルアップロードの問題
- 27. PHPでのファイルアップロードの検証
- 28. HTMLでのファイルアップロードの問題
- 29. Flaskでのファイルアップロードのテスト
- 30. のREST APIでのファイルアップロードyii2
また、明らかに、ユーザーからの古い迷惑メールを受け入れるだけではないことを確認してください。最小限のチェックはコンテンツタイプ、拡張子であり、あなたがそれを信用する前にウイルススキャナを通して実行します。 :) – ZombieSheep
ZombieSheepを真偽に変更します。クライアントで検証されたとしても、クライアントがサーバー側で送信するすべてのデータをチェックする必要がありますが、すべての「プロダクション準備完了」のものは、実証する。 – Geoff
ありがとう!しかし、それは私が現在使っている方法です。サーバーを汚染するので、サーバーにファイルを保存したくありません。 – Roy