问题描述
嗨,我正在尝试使用ajax jquery将上传的文件列表发送到服务器端,以将文件保存为blob数据类型。我是第一次在mvc中以blob格式保存文件。如果错误,请提出建议。 在模型类中,我采用了单个变量HttpPostedFileBase类型的模型类
public class Ipcell
{
public string CaseId { get; set; }
public HttpPostedFileBase Attach { get; set; }
}
视图是局部视图,其中文件上传按钮与其他值分开可用,而提交按钮位于底部。附加多个文件后,单击提交按钮,该局部视图中的所有值以及不同的附件应保存在数据库中,即表格的Blob类型列中的附件。
@model Smart.Models.Ipcell
<div>
<div> caseid<input id="Rcid" type="text" value="@Model.CaseId" /></div><br />
<div>attachment<input id="Rattc" type="file" style="margin-left:7%;padding-left:30%;"/></div><br />
<input id="Rsub" type="submit" />
</div>
单击“ RSub”后,应使用jquery ajax通过控制器将数据保存到数据库。 jQuery端
$(document).on("click",'#Rsub1',function (e) {
var casedetail42={};
var casedetail42s=[];
casedetail42["CaseId"] = $('#Rcid').val();
casedetail42["Attach1"] =($('#Rattc'))[0].files[0];
casedetail42s.push(casedetail42);
$.ajax({
type:"POST",url:"/Home/RaisePReq",data:JSON.stringify(casedetail42s),contentType:"application/json; charset=utf-8",datatype:"json",success:function(r){
alert(r);
},});
});
控制器端,在控制器端,我在casedetail42 [0] .Attach1
中获得了空值[HttpPost]
public JsonResult RaisePReq(List<Pcell> casedetail42)
{
Byte[] bytes = null;
Stream fs = casedetail42[0].Attach1.InputStream;
BinaryReader br = new BinaryReader(fs);
bytes = br.ReadBytes((Int32)fs.Length);
try
{
conn.open();
string qry1_1 = "query for insert file upload value in a column with blob format"
OracleCommand command = new OracleCommand(qry1_1,conn);
command.Parameters.Add(":IBD_ATTACHMENTS",bytes);
int insertedRecords = command.ExecuteNonQuery();
return Json(insertedRecords);
}
}
如何使用jquery ajax实现它并以blob格式保存文件。任何想法都将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)