我创建Windows商店应用靶向的Windows 8.0
我的Windows 8.1预览安装在我的电脑上,我创建了VS2012应用程序,并实现文件上传到服务器BackgroundUploader和createUploadFromStreamAsync方法与休耕码 -上传视频文件到服务器BackgroundUploader
string url = //url to upload videostring boundray = string.Format("abcboundry");
String header = string.Format("--{0}\r\nContent-Disposition: form-data; name=\"{1}\"; filename=\"{2}\"\r\n" + "Content-Type: {3}\r\n\r\n", boundray, "file", source.Name, "application/octet-stream");
string footer = string.Format("\r\n--{0}--\r\n", boundray);
Stream headerStream = GenerateStreamFromString(header);
Stream footerStream = GenerateStreamFromString(footer);
//Stream dataStream = iRandomstream.AsStream();
Stream dataStream = await source.OpenStreamForReadAsync();
MemoryStream fileDataStream = new MemoryStream();
await headerStream.CopyToAsync(fileDataStream);
await dataStream.CopyToAsync(fileDataStream);
await footerStream.CopyToAsync(fileDataStream);
fileDataStream.Position = 0;
IInputStream stream = fileDataStream.AsInputStream();
BackgroundUploader backgroundUploader = new BackgroundUploader();
backgroundUploader.SetRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundray);
backgroundUploader.Method = "POST";
UploadOperation uploadOpration = await backgroundUploader.CreateUploadFromStreamAsync(new Uri(url), stream);
await HandleUploadAsync(uploadOpration, true);
,它是工作的罚款给我,但测试时,对其他系统与Windows 8.0安装的应用程序越来越有AccessViolationException崩溃了未处理。尝试读取或写入受保护的内存。这通常是指示其他内存已损坏“的的InitializeComponent错误
现在我试图implenent BackgroundTransferContentPart为多上传,但没有成功,此代码 - 。
List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();
BackgroundTransferContentPart part = new BackgroundTransferContentPart("file", source.Name);
part.SetHeader("Content-Type", "application/octet-stream");
part.SetFile(source);
parts.Add(part);
BackgroundUploader uploader = new BackgroundUploader();
uploader.Method = "POST";
UploadOperation uploadOp = await uploader.CreateUploadAsync(new Uri(url), parts, "form-data",boundray);
await HandleUploadAsync(uploadOp, true);
我能做些什么解决我的问题?
如何上传大文件到服务器?
使用远程调试和测试,当它在8.0上运行,从8.1调试它,并期待笏哪一点呢失败。 – magicandre1981
我知道它是UploadOperation uploadOpration = await backgroundUploader.CreateUploadFromStreamAsync(new Uri(url),stream);在8.0中创建Access voilation的行 – Abhishek