2012-03-27 8 views
0

ファイル名にが含まれていると、skydriveからのダウンロードに失敗します。より正確には、結果の長さは常に0です。その他のファイルは問題なくロードされます。奇妙なダウンロードエラー(wp7 + skydrive api)

おかげ

スタートのダウンロード:完成

if (!loading) { 
       if (!Storage.Exists(item.Name) 
        || MessageBox.Show(AppResources.alreadyExists, AppResources.confirmation, MessageBoxButton.OKCancel) == MessageBoxResult.OK) { 
        loading = true; 
        App.loadInfo.Name = item.Name; 
        App.loadInfo.Info = AppResources.loadingStart; 
        PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disa bled; 
        client.DownloadAsync(item.Id + CONTENT, item); 
       } 
      } 

ダウンロード:

void client_DownloadCompleted(object sender, LiveDownloadCompletedEventArgs e) { 
     PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Enabled; 
     try { 
      FileItem item = e.UserState as FileItem; 
      if (e.Error == null 
       && !e.Cancelled 
       && e.UserState != null 
       && item.Size == e.Result.Length.ToString()) //LENGTH = 0 { Storage.SaveFile(item.Name, e.Result); 
       App.loadInfo.Info = AppResources.loadingComplete; 
       new GetIcon(item._name); 
      } 
      else { 
       if (item != null) App.loadInfo.Name = item.Name; 
       App.loadInfo.Info = AppResources.loadingError; 
      } 
     } 
     finally { App.loadInfo.Progress = 0; loading = false; MakeUi(); } 
    } 

LiveDownloadProgressChangedEventArgsはこれが本当にそうであるならば、あなただけ取り除くことができない

+1

解決策を質問の編集ではなく回答として投稿してください。 – ChrisF

答えて

0

を生じません要求を行う前にURIから断片を削除しますか?

+0

uriはファイル名を直接使用しないように要求します。サンプル_client.DownloadAsync(file.e7982fae8124d253.E7982GFE8124D253!146/content); _でも、この場合、サーバー上のファイル名には#psが含まれています。私の英語のために申し訳ありません – pbd