我有两种单独的解决方案,一种包含前端,另一种用于容纳WebApi并处理所有后端。
我正在尝试使用jQuery通过Ajax发布将文件作为Byte []发送到后端应用程序,并使用实体框架将其存储在数据库中。
现在,一切正常,字节数组确实存储在数据库中,但是即使我使用较小的文件,它也会花费很长时间。一个简单的556kb pdf文件可能需要十分钟才能完全传输。我的web.config中有一个很高的maxAllowedContent
这是我的ajax
$.ajax({
type: "POST",
url: serverURL + "Save/Files",
crossDomain: true,
dataType: 'json',
cache: false,
headers: {
"Authorization": /*An access token goes here*/
},
data: {
"File": bytes
},
success: function () {
console.log("it worked!");
},
error: function (data) {
console.log("didn't work");
console.log(data);
}
})
这是我在WebApi中的发布方法
[Authorize]
[ResponseType(typeof(TB_Files))]
[Route("Route")]
public IHttpActionResult PostTB_Files(TB_Files pTB_Files)
{
db.TB_Files.Add(pTB_Files);
db.SaveChanges();
return Ok<TB_Files>(pTB_Files);
}
前端的文件是Javascript Uint8Array,并以varbinary的形式存储在数据库中。