Windows phone 8 如何在Windows Phone 8中将视频作为块上传

Windows phone 8 如何在Windows Phone 8中将视频作为块上传,windows-phone-8,uploading,Windows Phone 8,Uploading,这是我上传视频的代码,但显示找不到远程服务器 public void Uploadvideo() { IsolatedStorageFileStream isoVideoFile = new IsolatedStorageFileStream(videoName, ileMode.Open, FileAccess.Read, IsolatedStorageFile.GetUserStoreForApplication()); if (isoVideoFile != null)

这是我上传视频的代码,但显示找不到远程服务器

public void Uploadvideo()
{
    IsolatedStorageFileStream isoVideoFile = new IsolatedStorageFileStream(videoName, ileMode.Open, FileAccess.Read, IsolatedStorageFile.GetUserStoreForApplication());
    if (isoVideoFile != null)
    {
        string FilePath = videoName;
        long Offset = 0;
        int ChunkSize = 2621;
        byte[] Buffer = new byte[ChunkSize];

        try
        {
            long FileSize = isoVideoFile.Length; 
            isoVideoFile.Position = Offset;
            int BytesRead = 0;
            while (Offset != FileSize)
            {
                BytesRead = isoVideoFile.Read(Buffer, 0, ChunkSize);
                if (BytesRead != Buffer.Length)
                {
                    ChunkSize = BytesRead;
                    byte[] TrimmedBuffer = new byte[BytesRead];
                    Array.Copy(Buffer, TrimmedBuffer, BytesRead);
                    Buffer = TrimmedBuffer;
                }

                string url = "http://sample/testService/service.asmx/UploadFileWithOffset?";

                string Params = "FileName=" + videoName + "&buffer=" + Buffer + "&Offset=" + Offset;

                var res = await GetHttpWebRequestAndRespose(url, Params);
            }
        }
        catch (Exception ex)
        {
        }
        finally
        {
            isoVideoFile.Close();
        }
    }
}

public async static Task<string> GetHttpWebRequestAndRespose(string url, string postData)
{
    var tcs = new TaskCompletionSource<string>();
    if (NetworkInterface.GetIsNetworkAvailable())
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        //request.ContentType = "application/json";
        request.ContentType = "application/x-www-form-urlencoded";
        byte[] requestBody = Encoding.UTF8.GetBytes(postData);

        using (var postStream = await GetRequestStreamAsync(request))
        {
            await postStream.WriteAsync(requestBody, 0, requestBody.Length);
        }

        try
        {
            var response = (HttpWebResponse)await request.GetResponseAsync();
            if (response != null)
            {
                var reader = new StreamReader(response.GetResponseStream());

                string responseString = await reader.ReadToEndAsync();
                tcs.SetResult(responseString);
            }

        }
        catch (WebException we)
        {
            var reader = new StreamReader(we.Response.GetResponseStream());
            string responseString = reader.ReadToEnd();
            tcs.SetResult(responseString);
        }
    }
    else
    {
        MessageBox.Show("Network unavailable, Please try again later.");
    }
    return await tcs.Task;
}
public void Uploadvideo()
{
IsolatedStorageFileStream isoVideoFile=新的IsolatedStorageFileStream(videoName,ileMode.Open,FileAccess.Read,IsolatedStorageFile.GetUserStoreForApplication());
if(isoVideoFile!=null)
{
字符串FilePath=videoName;
长偏移=0;
int ChunkSize=2621;
字节[]缓冲区=新字节[ChunkSize];
尝试
{
long FileSize=isoVideoFile.Length;
isoVideoFile.Position=偏移量;
int字节读取=0;
while(偏移量!=文件大小)
{
BytesRead=isoVideoFile.Read(缓冲区,0,ChunkSize);
if(字节读取!=缓冲区长度)
{
ChunkSize=BytesRead;
字节[]TrimmedBuffer=新字节[字节读取];
复制(Buffer、TrimmedBuffer、BytesRead);
缓冲区=TrimmedBuffer;
}
字符串url=”http://sample/testService/service.asmx/UploadFileWithOffset?";
string Params=“FileName=“+videoName+”&buffer=“+buffer+”&Offset=“+Offset;
var res=等待GetHttpWebRequestAndRespose(url,参数);
}
}
捕获(例外情况除外)
{
}
最后
{
isoVideoFile.Close();
}
}
}
公共异步静态任务GetHttpWebRequestAndRespose(字符串url,字符串postData)
{
var tcs=new TaskCompletionSource();
if(NetworkInterface.GetIsNetworkAvailable())
{
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(url);
request.Method=“POST”;
//request.ContentType=“application/json”;
request.ContentType=“application/x-www-form-urlencoded”;
byte[]requestBody=Encoding.UTF8.GetBytes(postData);
使用(var postStream=await GetRequestStreamAsync(请求))
{
wait postStream.WriteAsync(requestBody,0,requestBody.Length);
}
尝试
{
var response=(HttpWebResponse)wait request.GetResponseAsync();
if(响应!=null)
{
var reader=newstreamreader(response.GetResponseStream());
string responseString=Wait reader.ReadToEndAsync();
tcs.设置结果(响应预算);
}
}
catch(WebException-we)
{
var reader=newstreamreader(we.Response.GetResponseStream());
字符串responseString=reader.ReadToEnd();
tcs.设置结果(响应预算);
}
}
其他的
{
显示(“网络不可用,请稍后再试。”);
}
返回等待任务;
}
我的代码中有什么错误??

如果有人愿意帮忙。

请发布错误消息details@verdesrobert未找到远程服务器。@verdesrobert Uploadvideo方法工作正常,但在通过调用GetHttpWebRequestAndRespose方法发布数据时,它将捕获块并显示错误,因为未找到远程服务器。。。