2010-08-13 3 views

Répondre

1

Vous ne lisez pas les fichiers que vous avez placé dans le projet en utilisant l'objet FileInfo. Au lieu de cela, vous créez un Uri pour y accéder.

Ce n'est pas clair d'après votre question sur le projet dans lequel vous avez placé le fichier. Si vous l'avez placé dans le projet Silverlight, il devrait finir comme contenu dans le Xap. Dans ce cas, vous pouvez acquérir StreamResourceInfo pour l'aide: -

StreamResourceInfo gifContentInfo = Application.GetResourceStream(new Uri("map.gif", UriKind.Relative)); 

Maintenant, vous pouvez accéder au contenu du fichier avec: -

Stream gifStream = gifContentInfo.Stream; 

D'autre part, si vous avez placé le fichier dans le web projet il sera un fichier statique standard dans le site Web. Par conséquent, vous aurez besoin de faire le téléchargement WebClient typique pour aller chercher.

Je suppose que vous allez à ce problème parce que c'est un fichier Gif; vous êtes conscient qu'ils ne sont pas pris en charge en tant qu'image.

0

Vous ne pouvez pas utiliser le système de fichiers en dehors de Silverlight Isolated Storage

0

vous devez donner l'accès aux fichiers à l'asp .net utilisateur

check this out: http://www.codeproject.com/KB/aspnet/Ahmed_Kader.aspx

Ou utilisez le dossier spécial qui prévoit asp.net vous ... App_data

qui devrait avoir les droits dont vous avez besoin ...

+0

La question est plus Silverlight que ASP liés ... – Oren

0

Je suppose que vous essayez d'accéder à un fichier dans le système de fichiers local.

Si tel est le cas, vous ne pouvez pas accéder à des fichiers de ce type. Silverlight n'a pas les privilèges d'accès que vous attendez. Si vous souhaitez ajouter un fichier à votre application Silverlight lors de l'exécution. Vous aurez besoin de Silverlight 4, en cours d'exécution sur le navigateur avec des privilèges élevés. Il y a aussi certaines limites à cela. Vous pouvez uniquement accéder aux fichiers dans des dossiers spéciaux tels que Mes documents, Images, Musique, etc. Pour plus d'informations sur l'accès aux fichiers de cette façon. Vous pouvez regarder sur Silverlight 4 privilèges élevés dans le canal 9 MSDN.

Je doute de votre utilisation de FileInfo aussi. Voici un exemple de code pour obtenir des données de fichier en utilisant une simple fonction glisser-déposer.

private void list_Drop(object sender, DragEventArgs e) 
{ 
    FileInfo[] files = (FileInfo[])e.Data.GetData(DataFormats.FileDrop); 

    for(int i=0;i<files.Length;i++) 
    textblock.Text += files[i].Name; 
} 

Vous pouvez obtenir les propriétés du fichier tel que "Nom". Vous ne pourrez pas accéder aux erreurs d'accès refusées. Vous ne pouvez pas accéder à des propriétés telles que "DirectoryName", "FullName", etc. La raison en est qu'ils sont déclarés en tant que propriétés SecurityCritical pour des raisons de sécurité.L'avantage des autorisations élevées est que vous pouvez accéder au système de fichiers local (dossiers spéciaux) pour accéder aux propriétés FullName et DirectoryName sans aucune exception.

Hope this helps

0

@Lucas ..

bien. Vous pouvez utiliser Silverlight 4. Jetez un oeil à this. et this

Questions connexes