Я пытаюсь загрузить видео MP4 из Angular 8 в WebAPI, но проблема в том, что я не знаю, как перенести видео MP4 из Angular в Webapi, чтобы я загружал видео в хранилище AZure. Ниже мой код.
Код внутреннего веб-API
public class VideoFilesController : ApiController
{
private readonly MultipartFormDataStreamProvider streamProvider;
public async void Post([FromBody]VideoFileRequest videoFileRequest)
{
await Request.Content.ReadAsMultipartAsync(streamProvider);
string connectionString = ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString;
BlobHttpHeaders blobHttpHeaders = new BlobHttpHeaders()
{
ContentType = "video/mp4"
};
BlobContainerClient container = new BlobContainerClient(connectionString, ConfigurationManager.AppSettings["destContainer"]);
container.CreateIfNotExists(PublicAccessType.Blob);
//lines modified
var blockBlob = container.GetBlobClient(videoFileRequest.fileName);
using (var fileStream = System.IO.File.OpenRead(@"C:\LocalBlobs\UpdateMP4File.mp4"))
{
blockBlob.Upload(fileStream);
}
}
}
HTML Код для загрузки файла
<form name="VideoFileEditorForm" #f="ngForm"
(ngSubmit)="save(file.files)">
<div>
<label [class.col-md-3]="isViewOnly" [class.col-md-3]="!isViewOnly" class="col-form-label" for="file">Select a MP4 file to upload</label>
<input #file type="file" multiple (change)="upload(file.files)" />
</div>
<button type="submit" class="btn btn-primary">
Save Video file to Azure
</button>
</div>
</form>
Код TypeScript
upload(files) {
if (files.length === 0)
return;
const formData = new FormData();
for (let file of files)
formData.append(file.name, file);
}
private save(files) {
if (files.length === 0)
return;
const formData = new FormData();
for (let file of files)
formData.append(file.name, file);
return this.http.post<T>("https://localhost:44396/api/VideoFiles", formData).pipe<T>(
catchError(error => {
return this.handleError(error, () => this.getNewVideoFileEndpoint(videoFileObject));
}));
Итак, может ли кто-нибудь просто проверить мой код и порекомендовать мне, как я могу передать это видео Mp4 из angular в webapi, чтобы я загружал его в Azure. Спасибо