我們正在生成 blob 值并希望通過 SQL Server 將其插入到資料庫中。我們能夠傳遞 blob 值,并且通過 Ajax 呼叫的幫助,我們試圖讓它插入,但我們收到了錯誤Uncaught (in promise) TypeError: Failed to execute 'array buffer on 'Blob': Illegal invocation code。在 Web 服務中,我們將它作為位元組值 byte[] BLOB 傳遞,而在 SQL 中,我們使用 var binary(max) 來存盤值。
async function pdfhandler() {
let pdfBlob = '1';
var mystring = "Hello World!";
pdfBlob = new Blob([mystring]);
updateblobdata(pdfBlob);
console.log(pdfBlob);
}
function updateblobdata(blobvalue) {
debugger;
/// Insert Blob into Database ///
console.log('updateblobdata called');
const urlParams = new URLSearchParams(window.location.search);
const myParamtag = urlParams.get('104');
const mymodelval = urlParams.get('DuganHosp-0002');
var wonumval = '104'; var tagnumval = 'DuganHosp-0002';
var Modeval = 'U';
var BLOBval = blobvalue;
$.ajax({
url: 'TestTool_WebService.asmx/UpdateHtmlBLOBContent',
data: {
WoNum: wonumval,
Tagnum: tagnumval,
BLOB: BLOBval,
Mode: Modeval,
},
method: 'post',
dataType: 'json',
contentType: false,
processData: false,
cache: false,
success: function (data) { },
});
}
uj5u.com熱心網友回復:
您只能使用content-type: multipart/form-data.
function updateblobdata(blobvalue) {
const formData = new FormData();
formData.append('blob', blobvalue);
$.ajax({
url: 'TestTool_WebService.asmx/UpdateHtmlBLOBContent',
data: formData,
method: 'post',
dataType: 'json',
contentType: 'multipart/form-data',
processData: false,
cache: false,
success: function (data) { },
});
}
uj5u.com熱心網友回復:
否 仍然無法正常作業。對于 blob 值,它還沒有達到這一點。
[WebMethod]
public void UpdateHtmlBLOBContent(string WoNum, string Tagnum, byte[] BLOB, string Mode)
{
string htmldoc = null;
using (SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["ConStr1"]))
{
SqlCommand cmd = new SqlCommand("TestTool_PrototypeprocBlobRun", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Workorder", WoNum);
cmd.Parameters.AddWithValue("@Equipment", Tagnum);
cmd.Parameters.AddWithValue("@HTML_blob", BLOB);
cmd.Parameters.AddWithValue("@MODE", "U");
con.Open();
int i = cmd.ExecuteNonQuery();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
htmldoc = "Success";
}
dr.Close();
}
Context.Response.Write(htmldoc);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/343287.html
