使用 C# 解压上传到 Azure Web Apps 的文件

Unzip file uploaded to Azure Web Apps using C#

我的问题与这个问题非常相似Unzip file uploaded to Azure Websites - 我需要解压缩远程服务器上的一个 zip 文件。不同之处在于我需要使用 C# 代码来完成此操作。可能吗?

用这个 API https://github.com/projectkudu/kudu/wiki/REST-API#zip 是可能的。 API 实际上为您完成了 zip 文件的上传和解压。

感谢 Suwat Ch 和他在这里的回答 https://social.msdn.microsoft.com/Forums/azure/en-US/7fb2deed-6d1e-4529-9249-f67c83f373af/unzip-file-uploaded-to-azure-web-apps-using-c?forum=windowsazurewebsitespreview#7fb2deed-6d1e-4529-9249-f67c83f373af 我设法让它工作:

public void UploadZipToAzure()
        {
            byte[] projectFile = File.ReadAllBytes(@"C:\YourZipFile.zip");

            String Url = "https://YourAzureWebAppName.scm.azurewebsites.net/api/zip/site/wwwroot/";
            WebRequest request = WebRequest.Create(Url);

            request.ContentType = "application/x-zip-compressed";
            request.Method = "PUT";
            //Your Azure FTP deployment credentials here
            request.Credentials = new NetworkCredential("UserName - Azure's FTP deployment server name", "Password - Azure's FTP deployment server password");

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(projectFile, 0, projectFile.Length);
            requestStream.Close();

            WebResponse response = request.GetResponse();
        }