以编程方式删除文件并将其上传到Azure webapp本地存储

时间:2016-12-21 14:01:01

标签: c# .net azure azure-web-sites

我已经在Azure中部署了一个网站,我想从c#桌面应用程序访问programaticaly这条路径:“D:\ home \ site \ app”并删除所有文件并以编程方式上传新文件。 我搜索并找到了很多方法,但所有方法都是针对AzureStorage或使用Kudu consolFTP,而我真正想要的是访问本地存储网站以编程方式部署,并制作一些以编程方式编辑文件。

2 个答案:

答案 0 :(得分:3)

当然,站点控制管理器(Kudu)有一个API,即VFS API: https://github.com/projectkudu/kudu/wiki/REST-API#vfs

您可以使用其中任何一种进行身份验证:

  • 您从STS获得的Bearer令牌(ARMClient中的参考实现)
  • 网站级凭据(网络应用程序→属性下的丑陋凭证)
  • Git / FTP凭据(订阅级别)


示例用法(使用站点级凭据):

Kudu DebugConsole


# Line breaks brutally used to improve readability
# /api/vfs/ is d:\home
# Append path as necessary, i.e. /api/vfs/site/app

$ curl -k https://$are-we-eating-too-much-garlic-as-a-people:6sujXXX
      XXXXXXq7Zc@are-we-eating-too-much-garlic-as-a-people.scm.azurewebsites.net
      /api/vfs/site/wwwroot/ill-grab-this-file-over-vfs-api.txt

There, i did it.

我在这里假设你想要做外界的所有事情 - 因为你没有明确说明。

答案 1 :(得分:1)

嗯,在我的天蓝色代码中。我的任务是保存一个excel文件并将其内容上传到SQL服务器。 我使用这个简单易用的访问主页。

string fileToSave = string.Format("{0}\\{1}", HostingEnvironment.MapPath(@"~\Temp"), FileUpload.FileName);

            if (!Directory.Exists(HostingEnvironment.MapPath(@"~\Temp")))
                Directory.CreateDirectory(HostingEnvironment.MapPath(@"~\Temp"));

 FileUpload.PostedFile.SaveAs(fileToSave);

您可以使用类似的东西删除并保存新文件或其他I / O操作。