我正在使用上传文件。我想将文件内容以字节的形式保存在数据库中。这里是我到目前为止的代码:如何使用AsyncFileUpload上传文件并将字节保存在数据库中?
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
{
if (Session["ProjectId"] != null)
{
int Projectid = Convert.ToInt32(Session["ProjectId"]);
string Description = (DetailsView1.FindControl("RadEditor1") as RadEditor).Content;
RadAsyncUpload radAsyncUpload = DetailsView1.FindControl("RadAsyncUpload1") as RadAsyncUpload;
UploadedFile file = radAsyncUpload.UploadedFiles[0];
string s = file.FileName;
string path = System.IO.Path.GetFileName(s);
radAsyncUpload.UploadedFiles[0].SaveAs(Server.MapPath("Uploads/") + path);
string Contenttype = radAsyncUpload.UploadedFiles[0].ContentType;
int fileSize = radAsyncUpload.UploadedFiles[0].ContentLength;
float length = float.Parse(fileSize.ToString());
byte[] fileData = new byte[file.InputStream.Length];
file.InputStream.Read(fileData, 0, (int)file.InputStream.Length);
ProTrakEntities objEntity = new ProTrakEntities();
ProjectFile objFile = new ProjectFile();
objFile.ProjectId = Projectid;
objFile.FileName = s;
objFile.FileType = Contenttype;
objFile.FileSize = length;
objFile.CreatedBy = "admin";
objFile.CreatedDate = DateTime.Now;
objFile.Description = Description;
objFile.FileData = fileData;
objEntity.AddToProjectFiles(objFile);
objEntity.SaveChanges();
}
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('navigateToInserted');", true);
}
}
我发现了一个错误,而在该行file.InputStream.Read(fileData, 0, (int)file.InputStream.Length);
上传:
Could not find file 'D:\Tiru\Projects\ProTrak\App_Data\RadUploadTemp\0ngsv0wx.fxs'.
这个错误是什么意思,我怎么能得到摆脱它?
谢谢为你响应sir.I已经使用过这个先生,所以我得到错误:file.InputStream.Read(fileData,0,(int)file.InputStream.Length);为--- “ 'd:\ Tiru \项目\ ProTrak \ App_Data文件\ RadUploadTemp \ 0ngsv0wx.fxs'。” – tiru
避免错误的一种方法就是注释此行radAsyncUpload.UploadedFiles [0] .SaveAs(Server.MapPath(“Uploads /”)+ path); – masif
是的先生。但我想保存在Uploads中,所以如何继续? – tiru