IAssetFile.Upload返回System.Net.WebException(404)Not Found

时间:2014-05-22 16:32:29

标签: azure azure-media-services

我正在使用样板代码在Azure Media Services中创建单个资产,当我尝试上传资产文件时,我收到了一个System.Net.WebException'远程服务器返回错误:(404 )没找到。'

这是一个全新的媒体服务帐户,拥有全新的存储帐户(尝试重新创建)。存储帐户有一个资产容器(由媒体服务API创建)但没有blob。

Fiddler显示应用程序试图访问blob并返回404 -

  

HTTP / 1.1 404指定的资源不存在。

代码

static public IAsset CreateAssetAndUploadSingleFile(AssetCreationOptions assetCreationOptions, string singleFilePath)
        {
            var assetName = "UploadSingleFile_" + DateTime.UtcNow.ToString();
            var asset = CreateEmptyAsset(assetName, assetCreationOptions);

            var fileName = Path.GetFileName(singleFilePath);

            var assetFile = asset.AssetFiles.Create(fileName);

            Console.WriteLine("Created assetFile {0}", assetFile.Name);
            Console.WriteLine("Upload {0}", assetFile.Name);

            assetFile.Upload(singleFilePath);
            Console.WriteLine("Done uploading of {0} using Upload()", assetFile.Name);

            return asset;
        }

资产在媒体服务中创建正常,失败的行是assetFile.Upload,其余操作是blob上的HEAD请求,该请求尚不存在 -

  

HEAD   /asset-c3546046-9ffc-46f1-ae19-0071cd93c9f1/video1.mp4?se=2014-05-23T04%3A54%3A48Z&sr=c&si=23fe7a43-27a2-44ff-afc2-53225e950ace&sv=2012-02 -12& sig = J%2BapRVKnDmsbKRYrS1dKlw24quVYKH3QB3suMfwiKd4%3D& timeout = 90 HTTP / 1.1

我错过了什么?

2 个答案:

答案 0 :(得分:1)

这个平庸的回答有点迟了,但我希望它对某人有所帮助。在最近遇到这个问题,并使用相同的代码创建多个单独的解决方案,这些解决方案正常工作后,我决心找到原始解决方案的答案,该解决方案有几个项目。

更令人沮丧的是,在同一解决方案中创建新项目并没有帮助。因此,我将该解决方案中的两个项目目录(负责MediaServices)复制到一个新位置,打开这些复制的项目并保存新的解决方案文件。令我惊讶的是,一切都运作良好。 (WAT?!)

我返回原始解决方案位置,并删除.suo文件(解决方案用户选项)并重新打开原始解决方案。一切顺利。 (uugh!)

答案 1 :(得分:0)

没有出色的解释我害怕,看起来项目中有些东西被破坏,将代码剪切并粘贴到另一个项目中,一切正常。

感谢JuliaKo帮助MSDN forum