尝试使用ajax jquery将列表中的上载文件发送到服务器端,以将文件保存为blob数据类型

问题描述

嗨,我正在尝试使用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 (将#修改为@)