Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8 WP8使用多部分/表单数据在服务器上上载图像,获取错误_Windows Phone 8_Multipartform Data_Dotnet Httpclient - Fatal编程技术网

Windows phone 8 WP8使用多部分/表单数据在服务器上上载图像,获取错误

Windows phone 8 WP8使用多部分/表单数据在服务器上上载图像,获取错误,windows-phone-8,multipartform-data,dotnet-httpclient,Windows Phone 8,Multipartform Data,Dotnet Httpclient,以下代码尝试使用多部分/表单数据将图像上载到服务器: 但是有一个HTTP错误:(状态代码404,HTTP.StramContent,Header:Content-length=0) 如何正确执行此操作?我找到了解决方案 public async void PostRequest(Stream photoStream, string lomail, string fileName) { try { using

以下代码尝试使用多部分/表单数据将图像上载到服务器:

但是有一个HTTP错误:(状态代码404,HTTP.StramContent,Header:Content-length=0)

如何正确执行此操作?

我找到了解决方案

public async void PostRequest(Stream photoStream, string lomail, string fileName)
       {
           try
           {
               using (HttpClient client = new HttpClient())
               {
                   client.Timeout = TimeSpan.FromMinutes(10);
                   photoStream.Position = 0;
                   using (MultipartFormDataContent content = new MultipartFormDataContent())
                   {
                       content.Add(new StringContent(lomail), "lomail");
                       content.Add(new StreamContent(photoStream), "photo", fileName);
                       //var imageContent = new ByteArrayContent(ImageData);
                       //imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg");

                       //content.Add(imageContent, "photo", "image.jpg");
                       Dispatcher.BeginInvoke(() =>
                       {
                           MessageBox.Show("post");
                       });

                       HttpResponseMessage response = await client.PostAsync(LoUrl, content);
                       Dispatcher.BeginInvoke(() =>
                       {
                            MessageBox.Show(response.ToString());
                       });

                       Dispatcher.BeginInvoke(() =>
                       {
                           MessageBox.Show("finish");
                       });
                   }
               }
            }
            catch (Exception e)
            {
                MessageBox.Show("post request: " + e.Message);
            }
        } 

你能解释一下a)你想做什么,b)你试过什么,c)你面临什么问题吗?你实际上什么都没问:)对不起!这是我关于stackowerflow的第一个问题。我正在尝试将图像上载到服务器,但状态代码404有错误。没问题,欢迎使用StackOverflow。您确信您正在发布到正确的URL吗?服务器是否正常工作,即是否可以手动上传到相同的URL?我认为URL是正确的。“”我的api返回json,如何从中获得json响应。提前感谢这不是问这个问题的合适地方。首先,你应该考虑创建一个新的问题,但是看起来答案已经在某个地方了,所以看看Bing(是的!)或者谷歌。@ KoChykIR你可能会接受这个答案(答案的左上角的那个复选标记),那就是堆栈溢出的方式来标记这个问题“解决”了。如果你知道自己的答案是有效的,而且别人没有更好的答案,那么接受自己的答案是好的。
public async void PostRequest(Stream photoStream, string lomail, string fileName)
       {
           try
           {
               using (HttpClient client = new HttpClient())
               {
                   client.Timeout = TimeSpan.FromMinutes(10);
                   photoStream.Position = 0;
                   using (MultipartFormDataContent content = new MultipartFormDataContent())
                   {
                       content.Add(new StringContent(lomail), "lomail");
                       content.Add(new StreamContent(photoStream), "photo", fileName);
                       //var imageContent = new ByteArrayContent(ImageData);
                       //imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg");

                       //content.Add(imageContent, "photo", "image.jpg");
                       Dispatcher.BeginInvoke(() =>
                       {
                           MessageBox.Show("post");
                       });

                       HttpResponseMessage response = await client.PostAsync(LoUrl, content);
                       Dispatcher.BeginInvoke(() =>
                       {
                            MessageBox.Show(response.ToString());
                       });

                       Dispatcher.BeginInvoke(() =>
                       {
                           MessageBox.Show("finish");
                       });
                   }
               }
            }
            catch (Exception e)
            {
                MessageBox.Show("post request: " + e.Message);
            }
        }