我正在尝试发布文件和有关此文件的一些信息,然后将该信息插入到名为anexos的表中的SQL Server中。
public Task<HttpResponseMessage> Post()
{
var myParameter = "";
HttpRequestMessage request = this.Request;
if (!request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/uploads");
var provider = new MultipartFormDataStreamProvider(root);
var task = request.Content.ReadAsMultipartAsync(provider).
ContinueWith<HttpResponseMessage>(o =>
{
string file1 = provider.FileData.First().LocalFileName;
var result = o.Result;
myParameter = result.FormData.GetValues("fullPath").FirstOrDefault();
return new HttpResponseMessage()
{
Content = new StringContent("File uploaded.")
};
}
);
// INSERT
using (DBnameEntities services = new DBnameEntities())
{
var anexo = new anexos();
anexo.fullPath = myParameter;
services.anexos.Add(anexo);
services.SaveChanges();
}
return task;
}
该文件已经保存在文件夹中,我可以成功返回fullPath值。唯一不起作用的部分是将fullPath值保存到数据库(INSERT注释之后的部分)。
有人可以帮忙吗?
谢谢。