首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10 IoT - REST部署

Windows 10 IoT - REST部署
EN

Stack Overflow用户
提问于 2016-03-29 12:17:00
回答 2查看 1.1K关注 0票数 2

根据Windows 10 IoT REST接口的文档,可以通过REST部署应用程序。

/api/appx/packagemanager/package 上载和安装.appx文件。 HTTP动词: POST 参数 软件包:要安装的包的文件名。 有效载荷 多部分协调http体

如何正确地组装有效载荷?我想部署一个本地.appx包,我尝试了这样做:

代码语言:javascript
复制
        Windows.Storage.StorageFolder storageFolder =
        Windows.Storage.ApplicationData.Current.LocalFolder;

        byte[] filecontent = null;
        string p = storageFolder.Path;
        filecontent = File.ReadAllBytes(p + "\\TestAppDeploy_1.0.1.0_ARM.appx");


        //URL + parameter Base64 encoding
        string filenameb64 = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("TestAppDeploy_1.0.1.0_ARM.appx"));
        string url = "http://localhost:8080/api/appx/packagemanager/package?package="+filenameb64;

        HttpClient client = new HttpClient();

        //authentication
        var byteArray = Encoding.ASCII.GetBytes("Administrator:password");
        client.DefaultRequestHeaders.Authorization = new  System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

        var multipart = new MultipartContent();
        ByteArrayContent byteArrayContent = new ByteArrayContent(filecontent);

        multipart.Add(byteArrayContent);

            HttpResponseMessage response = await client.PostAsync(url, multipart);

            string res = await response.Content.ReadAsStringAsync();
            var status = response.StatusCode;

            client.Dispose();

            Debug.WriteLine(res + "    " + status);

代码运行在Windows10 IoT设备上。

岗位行动

代码语言:javascript
复制
         HttpResponseMessage response = await client.PostAsync(url, multipart);

给我以下答复

代码语言:javascript
复制
         {"Reason" : "Missing appx file name query parameter"}    BadRequest

我猜PostAsync调用的内容必须是具有附加参数/信息的MultipartContent类型。知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-22 08:14:12

我必须使用HttpClient中的

System.Net.Http

命名空间,以便能够对Windows10WindowsAPI进行IoT REST调用。

中的HttpClient

Windows.Web.Http.HttpClient

似乎有点不同。

票数 0
EN

Stack Overflow用户

发布于 2016-04-20 16:46:49

浏览器(Chrome,IE)F12模式-开发者工具/网络-使用浏览器上传应用程序文件(minwinpc:8080)。看看那里的帖子是什么样子。(标题,响应..。等)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36284037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档