asp.net - C#中的文件上传
问题描述
我正在从前端 Angular 6 向我的后端 C# (ASP.NET) 发送一个文件。并且希望将该文件保存在后端服务器的一个文件夹中,并将该路径保存在 MS SQL 数据库中。
[EnableCors(origins: " * ", headers: " * ", methods: " * ")]
[AcceptVerbs("GET", "POST")]
[HttpGet]
[Route("CustomerSignature/Upload")]
public virtual IHttpActionResult Upload(int value)
{
string imageName = null;
string statuscode = " - 1";
string message = "";
HttpResponseMessage response = Request.CreateResponse();
try
{
var httpRequest = HttpContext.Current.Request;
}
catch (SqlException sqlex)
{
statuscode = "- 1";
response.StatusCode = HttpStatusCode.NotFound;
response.Headers.Add("Error", sqlex.Message);
message = ERPMessages.GetMessage(MessageType.FindByErrorSQL, this.Controller);
}
catch (Exception ex)
{
statuscode = " - 2";
response.StatusCode = HttpStatusCode.NotFound;
response.Headers.Add("Error", ex.Message);
message = ERPMessages.GetMessage(MessageType.FindByErrorGenaral, this.Controller);
}
return new MergeResult(response, statuscode, message, 0);
}
}
上面,读取“HttpContext.Current.Request”后,如何获取请求中的文件并将其保存在文件夹中,并将文件路径保存在数据库中?请帮我解决这个问题。
解决方案
您可以尝试以下类似的方法:
public HttpResponseMessage Post()
{
HttpResponseMessage result = null;
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.Count > 0)
{
var filePathCollection = new List<string>();
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
var filePath = HttpContext.Current.Server.MapPath("~/" + postedFile.FileName);
postedFile.SaveAs(filePath);
filePathCollection.Add(filePath);
}
/// Save FilePathcollection in SQL Server
result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
}
else
{
result = Request.CreateResponse(HttpStatusCode.BadRequest);
}
return result;
}
推荐阅读
- ruby-on-rails - Rails + Devise:跨子域共享会话变量
- scala - 后续 RewriteRules 不会转换在先前转换中添加的元素
- javascript - ios - 使用angular 1在ios mobile中输入单个字符后,如何以编程方式聚焦到下一个输入元素?
- c# - 使用 moq 和 ms 测试进行单元测试
- java - 在 Java 中将日期与字符串进行比较
- shopify - shopify中变量对象的访问值
- c - 将 uint8_t 数组转换为 uint16_t
- react-native - 将本机地图方向一个位置反应到另一个位置
- java - Liquibase maven 插件,我的数据库驱动程序出现问题
- python - 无法使用 Ã 字符解码不正确编码的字符串