0

파일을 Azure Blob 저장소에 업로드하고 파일과 관련된 메타 데이터를 테이블 저장소에 저장하려고합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까? blob 저장소 URI는 테이블 저장소 모델 데이터에 저장해야하므로 먼저 메타 데이터를 저장하기 전에 blob 저장소에 파일을 업로드해야합니다.하나의 HTTP 포스트를 사용하여 blob 저장소 및 관련 메타 데이터를 테이블 저장소에 저장

하나의 양식에서이 작업을 수행하는 것이 좋습니다. 누구나 나를 가리킬 수있는 예제 나 튜토리얼을 가지고 있습니까

답변

0

파일을 blob 저장소에 게시하고 같은 페이지의 formcollection에서 관련 메타 데이터를 가져 와서이 작업을 수행했습니다. 아래 그림과 같이 내 POST에서 나는 파일과 관련된 메타 데이터를 읽을 IO 증기를 사용 : 다음 방법은 내 dbcontext을 통해 관련 메타 데이터를 저장하므로 변경 사항이 SQL 스토리지에 저장된라고 내 AdminViewModel에서

[HttpPost] 
public ActionResult NewContent(HttpPostedFileBase postedFile,FormCollection form) 
{ 
    if (postedFile != null) 
    { 
     HttpPostedFileBase postedFileCopy = postedFile; 
     postedFileCopy.InputStream.Position = 0; 
     Stream stream = postedFile.InputStream; 

     string[] name = form.GetValues("name"); 
     string[] author = form.GetValues("author"); 
     string[] description = form.GetValues("description"); 
     DateTime uploaddate = form.GetValues("uploaddate"); 
     DateTime expirydate = form.GetValues("expirydate"); 
     string[] participationpoints = form.GetValues("participationpoints"); 
     string[] contenttypeid = form.GetValues("contenttypeid"); 

     try 
     { 
      avm.AddContent(postedFile, stream, name, author, description, uploaddate, expirydate, participationpoints, contenttypeid); 
     } 
     catch (Exception ex) 
     { 
      return RedirectToAction("Index", "Admin"); 
     } 
    } 
} 

파일이 BLOB 저장소에도 기록되는 동안

0

우선 URI가 다르기 때문에 이것을 달성하는 것은 기술적으로 불가능하며 Azure blob과 테이블 스토리지를 다루는 API도 있습니다.

몇 가지 옵션이 있습니다. 먼저 blob API를 사용하여 blob과 메타 데이터를 연결할 수 있습니다. Put Blob REST API 호출은 x-ms-meta 이름 : 값입니다. 이 방법으로 Blob 내용과 메타 데이터를 모두 저장하는 단일 HTTP 요청을 수행 할 수 있습니다. 메타 데이터를 테이블 저장소에 엄격하게 저장하고 원샷으로 수행하려는 경우 HTTP 요청을 웹 서버를 통해 라우팅하고 콘텐츠 및 메타 데이터를 서버 측 앱에 게시 한 다음 저장 위치를 ​​처리 할 수 ​​있습니다 얼룩 및 테이블 저장소 관련 콘텐츠.

+0

재미있는 소리가 들여다 보며 내일보실 것입니다. – Jay