Я использую dropzone для загрузки файла CSV. Часть загрузки работает и выполняет POST для URL-адреса в конфигурации.
Как передать дополнительный параметр, чтобы я мог получить к нему доступ в моем контроллере? В этом случае я хочу передать account_id
контроллеру.
Вот HTML:
<div class="vertical-container" fxLayout="column" fxLayoutAlign="stretch" fxFlex="50%">
<form class="form-horizontal form-bordered">
<div class="box-title">Dropzone</div>
<select class="form-control input-sm mb-md" [(ngModel)]="account_id" name="account_id">
<option *ngFor="let account of accounts" [ngValue]="account.id">{{account.name}}</option>
</select>
<div class="content-container" fxLayout="column" fxLayoutAlign="stretch" fxFlex="auto">
<dropzone class="dropzone-container" [config]="config" [disabled]="disabled" fxLayout="row" fxLayoutAlign="start strech" fxFlex="auto" [message]="'Click or drag transaction file here to upload'" (init)="onUploadInit($event)" (error)="onUploadError($event)" (success)="onUploadSuccess($event)"></dropzone>
</div>
</form>
</div>
Вот машинописный текст (функция onUploadSuccess):
public onUploadSuccess(args: any): void {
console.log('onUploadSuccess:', args);
}
Вот контроллер в C#:
public void Post(IFormFile file)
{
try
{
var request = HttpContext.Request.Form;
var files = request.Files;
if (file == null || file.Length == 0)
{
return;
}
string filePath = Path.Combine("D:", "Projects", "Finance", "Uploads", files[0].FileName);
using (var targetStream = System.IO.File.Create(filePath))
{
files[0].CopyTo(targetStream);
}
//Need to get the account_id here!
}
catch (Exception ex)
{
//return new JsonResult(new { status = "500", error = "Internal Server Error", message = ex.Message })
//{
// StatusCode = 500
//};
}
}
Когда файл будет загружен, он запишет сообщение в консоль и нажмет URL в config. Как передать account_id, чтобы я мог получить к нему доступ в контроллере?