我想将图像存储到本地文件夹,我从http服务器收到该文件夹。
请求(http:// myServer:myPort /?imageID = 5)提供“tif-image-file”。如果我将此请求输入Internet-Explorer,它就可以了!
我的c#-code:
(...)
Uri myUri = new Uri("http://myServer:myPort/?imageID=5");
StorageFile myFile = StorageFile.GetFileFromApplicationUriAsync(myUri);
(...)
但“myFile”始终为null :(
我做错了什么?
谢谢!
不可见
答案 0 :(得分:0)
好的,这是我的解决方案:
我在我的文件夹中创建了一个空文件
string myFilename = "myfile.tif";
StorageFile myFile = await myFolder.CreateFileAsync(myFilename, CreationCollisionOption.ReplaceExisting);
BackgroundDownloader
try
{
var download = new BackgroundDownloader().CreateDownload(myUri, myFile);
await download.StartAsync();
}
catch (Exception E)
{
...
}
下一个问题是,只有当我每次将释放模式从“X64”更改为“AnyCPU”时,它才有效。如果我不改变发布模式我的应用程序什么都不做。没有例外,没有程序崩溃...
这是一个错误吗?
(抱歉我的英语不好......)
答案 1 :(得分:-1)
GetFileFromApplicationUriAsync
方法用于加载本地应用程序资源。所以它不适合你的情况。您需要使用Storage
方法创建新的CreateStreamedFileAsnyc
文件:
http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfileasync.aspx
编辑:在您的情况下,它会更容易使用CreateStreamedFileFromUriAsync()
:http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfilefromuriasync.aspx