ajaxFileUpload は、非同期ファイル アップロード用の jQuery プラグインです
不明なバージョンをアップロードすると、今後どこでもそのバージョンを探す必要がなくなります。
構文:$.ajaxFileUpload([options])
オプションパラメータの説明:
1, url アップロードハンドラーのアドレス。
2, fileElementId アップロードする必要があるファイル フィールドの ID、つまり の ID。
3, secureuri 安全な送信を有効にするかどうか、デフォルトは false です。
4, dataType サーバーから返されるデータ型。 XML、スクリプト、JSON、HTML を使用できます。入力しない場合は、jQuery が自動的に判断します。
5、成功 送信成功後に自動的に実行される処理関数です。パラメータデータはサーバーから返されるデータです。
6、エラー 送信失敗時に自動的に実行される処理関数。
7、データ カスタムパラメータ。アップロードした画像に関連するデータがある場合は、こちらの方が便利です。
8、タイプ エラープロンプト:
1, SyntaxError: missing; before state error
このエラーが発生した場合は、URL パスにアクセスできるかどうかを確認する必要があります2, SyntaxError: 構文エラー
このエラーが発生した場合は、に送信操作を処理するサーバー バックグラウンド ハンドラーに構文エラーがあるかどうかを確認します
3、SyntaxError: 無効なプロパティ ID エラー
このエラーが発生した場合は、テキスト フィールドのプロパティ ID が存在するかどうかを確認する必要があります
4 、SyntaxError: missing } XML 式エラー
このエラーが発生した場合は、ファイル名が一致しているか存在しないかを確認する必要があります
5、その他のカスタム エラー
変数 $error を使用して直接出力し、各パラメータが正しいかどうかを比較できます。上記の無効なエラー プロンプトはさらに便利です。
使用方法:
ステップ 1: まず、jQuery プラグインと ajaxFileUpload プラグインを導入します。言うまでもなく、これはすべてのプラグインに当てはまります。
<script src="jquery-1.7.1.js" type="text/javascript"></script> <script src="ajaxfileupload.js" type="text/javascript"></script>
ステップ 2: HTML コード:
<body> <p><input type="file" id="file1" name="file" /></p> <input type="button" value="上传" /> <p><img id="img1" alt="上传成功啦" src="" /></p> </body>
ステップ 3: JS コード
<script src="jquery-1.7.1.js" type="text/javascript"></script> <script src="ajaxfileupload.js" type="text/javascript"></script>
ステップ 4: バックエンド ページの Upload.aspx コード:
protected void Page_Load(object sender, EventArgs e) { HttpFileCollection files = Request.Files; string msg = string.Empty; string error = string.Empty; string imgurl; if (files.Count > 0) { files[0].SaveAs(Server.MapPath("/") + System.IO.Path.GetFileName(files[0].FileName)); msg = " 成功! 文件大小为:" + files[0].ContentLength; imgurl = "/" + files[0].FileName; string res = "{ error:'" + error + "', msg:'" + msg + "',imgurl:'" + imgurl + "'}"; Response.Write(res); Response.End(); } }
MVC バージョンの例を見てみましょう:
コントローラー コード
public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult Upload() { HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files; string imgPath = ""; if (hfc.Count > 0) { imgPath = "/testUpload" + hfc[0].FileName; string PhysicalPath = Server.MapPath(imgPath); hfc[0].SaveAs(PhysicalPath); } return Content(imgPath); } }
Front -end ビュー、HTML および JS コードは、アップロードが成功した後、画像の実際のアドレスを返し、それを の SRC アドレスにバインドします。 最後に、パラメーターを使用して画像をアップロードする例を示します。 :
<body> <p><input type="file" id="file1" name="file" /></p> <input type="button" value="上传" /> <p><img id="img1" alt="上传成功啦" src="" /></p> </body>
インデックスビューコード:
public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult Upload() { NameValueCollection nvc = System.Web.HttpContext.Current.Request.Form; HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files; string imgPath = ""; if (hfc.Count > 0) { imgPath = "/testUpload" + hfc[0].FileName; string PhysicalPath = Server.MapPath(imgPath); hfc[0].SaveAs(PhysicalPath); } //注意要写好后面的第二第三个参数 return Json(new { Id = nvc.Get("Id"), name = nvc.Get("name"), imgPath1 = imgPath },"text/html", JsonRequestBehavior.AllowGet); } }
この例では、非同期でアップロードされた画像を表示し、同時にカスタム送信パラメータをポップアップ表示します。