2017-08-17 42 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() }; 
     } 
    } 
相关问题