2013-03-03 65 views
0

是否有人曾经设法使用Windows 8应用程序将文件从unc目录复制到本地目录?Windows 8 StorageFile.GetFileFromPathAsync使用UNC路径

According to the official documentation here

它可以连接到一个UNC路径

我使用STD文件访问样本,并已改变了一行代码读取如下 我添加了所有功能 加.txt作为文件类型 UNC路径被读取写入所有人,并位于同一台机器上。

但是我不断收到访问被拒绝错误。

任何人都可能提供给我一个工作示例 这让我很生气,真正质疑win 8开发的整个LOB应用程序的重点。

TIA

private async void Initialize() 
     { 
      try 
      { 
       //sampleFile = await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync(filename); 
       string myfile = @"\\ALL387\Temp\testfile.txt"; 
       sampleFile = await Windows.Storage.StorageFile.GetFileFromPathAsync(myfile); 

      } 
      catch (FileNotFoundException) 
      { 
       // sample file doesn't exist so scenario one must be run 
      } 

      catch (Exception e) 
      { 
       var fred = e.Message; 

      } 
     } 

回答

1

我已经整理了这一点,我发现最好的方式做到这一点是在文件夹中对象 创建文件夹对象 enumnerate在文件复制文件一次一个以本地文件夹然后访问它们

看来你不能打开文件,但你可以复制它们。 (这是我试图在首位来实现)

希望这有助于

private async void Initialize() 
    { 
     try 
     { 

      var myfldr = await Windows.Storage.StorageFolder.GetFolderFromPathAsync(@"\\ALL387\Temp"); 
      var myfiles = await myfldr.GetFilesAsync(); 

      foreach (StorageFile myfile in myfiles) 
      { 
       StorageFile fileCopy = await myfile.CopyAsync(KnownFolders.DocumentsLibrary, myfile.Name, NameCollisionOption.ReplaceExisting); 
      } 

      var dsd = await Windows.Storage.KnownFolders.PicturesLibrary.GetFilesAsync(); 

      foreach (var file in dsd) 
      { 
       StorageFile sampleFile = await Windows.Storage.StorageFile.GetFileFromPathAsync(file.Path); 
      } 


     } 
     catch (FileNotFoundException) 
     { 
      // sample file doesn't exist so scenario one must be run 
     } 

     catch (Exception e) 
     { 
      var fred = e.Message; 

     } 
    } 
+1

事实上,我认为这是唯一的办法。 – 2013-03-03 22:46:37

0

只需要进入AppXManifest并设置功能