2011-08-04 2 views
6

J'ai une classe avec une propriété de ressource de type Resource au printemps (org.springframework.core.io.Resource) qui prend un objet fichier en entrée. Cependant, je suis en train de lire un document distant via une autre API personnalisée qui retourne le contenu du document sous la forme d'une chaîne.Méthodes de conversion de chaîne en ressource de ressort

String xml = document.getContent(); 

Je veux transmettre ce xml comme Resource dans ma méthode setResource. Cependant, je ne sais pas comment je peux lancer String en Resource.

Des idées?

Répondre

12

Vous pouvez créer un ByteArrayResource de la chaîne:

String xml = document.getContent(); 
Resource resource = new ByteArrayResource(xml.getBytes()); 
setResource(resource); 
+0

Merci !! Cela a aidé .. pourquoi il n'est pas conseillé d'utiliser setResource (new InMemoryResource (xml)) ?? –

+1

@Nikunj: Parce que 'InMemoryResource' ne fait pas partie de Spring, il fait partie de Spring Security. Si vous avez cela, cependant, cela fonctionnerait bien. – skaffman

+0

Merci pour la clarification !! –