前端上傳檔案,二進位制流存入資料庫
阿新 • • 發佈:2018-12-11
html:
<input type="file" name="files" id="btnfile"/>
JS:
$('input[type=file]').on("change", function () { var files = this.files[0]; var FileName = files.name; var FileSize = files.size; var reader = new FileReader();
reader.onload = function (e) { $.ajax({ url: "Audit.aspx/SaveFileBinary", type: "post", dataType: "json", contentType: "application/json", async: false, data: "{\"data\":{\"AuditID\":\"" + params["id"] + "\",\"FileData\":\"" + reader.result + "\",\"FileName\":\"" + FileName + "\",\"FileSize\":\"" + FileSize + "\"}}", success: function (result) { var res = $.parseJSON(result.d); setDataSource(res); //重新整理資料來源 }, error: function (xhr, msg, e) { alert(jQuery.parseJSON(xhr.responseText).Message); } }) } reader.readAsDataURL(this.files[0])});
後臺:
string FileData= data["FileData"].ToString();string strBase64 = FileData.Substring(FileData.IndexOf(",") + 1);byte[] byteArray = Convert.FromBase64String(strBase64);
byteArray直接存入資料庫就行了。
前臺弄個列表,直接放個連結下載,很方便。