html 5大ファイルアップロード技術(一)
5474 ワード
必要:
1、大きなファイル(ファイルサイズに制限がない)のwebアップロード;
2、アップロードの進捗バーを表示し、ブレークポイントで継続する.
3、マルチファイルリストのアップロード;
4、MD 5ファイルチェック.
開発環境:Visual Studio 2017
言語:C#
技術のポイント:
1、AJAXは、ウェブページ全体を再ロードすることなく、一部のウェブページを更新できる技術である.
AJAX技術を使用するにはjquery-3.2.1を追加する必要がある.js参照、;
1、大きなファイル(ファイルサイズに制限がない)のwebアップロード;
2、アップロードの進捗バーを表示し、ブレークポイントで継続する.
3、マルチファイルリストのアップロード;
4、MD 5ファイルチェック.
開発環境:Visual Studio 2017
言語:C#
技術のポイント:
1、AJAXは、ウェブページ全体を再ロードすることなく、一部のウェブページを更新できる技術である.
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});
AJAX技術を使用するにはjquery-3.2.1を追加する必要がある.js参照、;
2,FormDataオブジェクト
は、newキーワードから空のFormDataオブジェクトを作成することができます.次にappend()メソッドを使用してオブジェクトにフィールドを追加します(フィールドの値はBlobオブジェクト、Fileオブジェクト、文字列であってもよく、残りのタイプの値は自動的に文字列に変換されます).span>
AjaxおよびFromDataを利用した簡単なファイルアップロードの例
クライアントコード:
function up_file() {
var select_files = document.getElementById("File1");
if (select_files.files.length < 1) { //
alert(' !');
return;
}
var formData = new FormData();// ,FormData HTML5
formData.append('file', $('#File1')[0].files[0]);// <input id="File1" type="file" />
formData.append('filename', $('#File1')[0].files[0].name); //
$.ajax({
url: '/File/up.aspx',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false
}).done(function () {
$("#output").text(" !");
})
.fail(function () {
$("#output").text(" !");
});
}
up.aspx
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class File_up : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string msg = "";
try
{ // Request , Requst.Files
string name = Request["name"];
var data = Request.Files["data"];
string dir = Server.MapPath("~/Upload");
string filen_part_name = Path.Combine(dir, name); //
data.SaveAs(filen_part_name);
msg = "ok";//
}
catch (Exception)
{
msg = "error";//
}
Response.Write(msg);
}
}