2017-08-17 43 views
1

我上傳了文本文件或圖像文件或Zip文件到Azure Data Lake Store。它'已成功上傳。但是,在文件中添加一些內容之前。 我上傳了一個使用Rest API的文件。 (上傳的文件使用的HttpClient在C#)如何解決文件中添加的Azure DataLakeStore文件內容處置?

此類型的內容的添加在

--- b8b2dfc6-6128-43b5-8fb8-022820aedf02

內容處置:形狀數據; name = file1;文件名= tick.txt;文件名* = UTF-8''tick.txt

如果內容,以便添加,圖像文件和壓縮文件不在瀏覽器打開/瀏覽。

如何刪除文件中添加的這種類型的頭文件從Upload.Here我分享了我的文件上傳代碼。

public object UploadFile(string srcfile, string destFilePath, bool force = true) 
{ 
    var uploadurl = string.Format(UploadUrl, _datalakeAccountName, destFilePath); 
    var stream = File.OpenRead(srcfile); 
    HttpContent fileStreamContent = new StreamContent(stream); 
    using (var client = new HttpClient()) 
    { 
     client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesstoken.access_token); 
     using (var formData = new MultipartFormDataContent()) 
     { 
      formData.Add(fileStreamContent, "file1", Path.GetFileName(srcfile)); 
      var response = client.PutAsync(uploadurl, formData).Result; 
      return new { Status = response.StatusCode, Message = response.ReasonPhrase, details = response.ToString() }; 
     } 
    } 
} 

在此先感謝。

+0

我不明白你的問題。 – mjwills

+0

@mjwills我上傳了一個使用Rest API的文件到Azure Data Lake以上內容在文件中添加所以,不能打開圖像和Zip文件。如果我手動刪除只打開文件。如何解決這個問題呢? – umasankar

回答

1

請嘗試使用下面的代碼,它在我身邊正確地工作。

public object UploadFile(string srcfile, string destFilePath, bool force = true) 
    { 
     var uploadurl = string.Format(UploadUrl, _datalakeAccountName, destFilePath); 
     var stream = File.OpenRead(srcfile); 
     HttpContent fileStreamContent = new StreamContent(stream); 
     using (var client = new HttpClient()) 
     { 
      client.DefaultRequestHeaders.Authorization = new 
       AuthenticationHeaderValue("Bearer", _accesstoken.access_token); 
      client.DefaultRequestHeaders 
       .Accept 
       .Add(new MediaTypeWithQualityHeaderValue("application/octet-stream")); 
      var response = client.PutAsync(uploadurl, fileStreamContent).Result; 

      return new { Status = response.StatusCode, Message = response.ReasonPhrase, details = response.ToString() }; 
     } 
    } 
相關問題