【发布时间】:2018-02-28 00:25:08
【问题描述】:
我有一个上传到 Web API 路由的 CSV 文件。我已经能够通过字节数组将 CSV 放入内存,这就是我被卡住的地方。我想获取 CSV 的每一行,添加三个从上传表单与文件一起发布的附加字段,并将每个带有附加字段的 CSV 行插入到 SQL 服务器表中。如何获取字节数组、转换行并插入数据?
这是我使用 ng-file-upload 的 AngularJS。
$scope.upload = function (file) {
Upload.upload({
url: 'api/UploadProfile',
data: {
file: file,
'ProfileName': $scope.ProfileName,
'SubmittedBy': $scope.SubmittedBy,
'InsertDate': $scope.InsertDate
}
})}
这是我的 Web API 控制器
public class ProfileUploadController : ApiController
{
private BIMarketOrderEntities db = new BIMarketOrderEntities();
[HttpPost, Route("api/UploadProfile")]
public async Task<IHttpActionResult> Upload()
{
if (!Request.Content.IsMimeMultipartContent())
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var file in provider.Contents)
{
var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
var buffer = await file.ReadAsByteArrayAsync();
// How do I get 'buffer' to my database while adding the additional fields?
}
return Ok();
}
}
【问题讨论】:
标签: entity-framework asp.net-web-api