J'ai écrit une page Visualforce simple qui permet à l'utilisateur de télécharger un fichier image puis enregistrer le fichier à l'objet ContentVersion
.Salesforce - Est-il possible d'afficher le fichier image de ContentVersion sur une page Visualforce personnalisée?
Maintenant Je souhaite afficher l'image enregistrée dans ma page Visualforce personnalisée. Est-ce encore possible? On dirait que <apex:image>
ne peut pas être utilisé. Aussi <img href="{!cv.contentVersion}"...>
avait pas de chance.
Le vrai problème est que j'ai téléchargé le fichier image avec succès mais quelle est l'adresse URL? J'ai testé avec une URL aléatoire à l'extérieur sur google et je peux afficher l'image (comme /../..some.jpg ") .Mais je ne peux pas savoir quelle est l'URL absolue pour le fichier image qui a été téléchargé ContentVersion
NOTE:. Ce n'est pas ressource statique que mes utilisateurs peuvent télécharger l'image pour changer leur image utilisateur souvent
code
public with sharing class ImageUploadTestController {
public blob file { get; set; }
public String imageFilePath { get; set; }
public ContentVersion cv { get; set; }
public ImageUploadTestController() {
cv = [select id, versionData, title, pathOnClient FROM ContentVersion limit 1];
}
//fill out the inputFile field and press go. This will upload file to the server
public PageReference go() {
ContentVersion v = new ContentVersion();
v.versionData = file;
v.title = 'some title';
v.pathOnClient ='/foo.jpeg';
insert v;
return new PageReference('/' + v.id);
}
//v.id sample
//069A00000009Ux3
}//end class
Visualforce Page
0123.<apex:page controller="ImageUploadTestController">
<apex:form >
<apex:inputFile value="{!file}" />
<apex:commandbutton action="{!go}" value="go"/>
</apex:form>
<!-- none of below works!! :(-->
<a href="/{!cv.id}">{!cv.title} {!cv.pathOnClient}</a>
<a href="https://na7.salesforce.com/069A00000009FG4"></a>
<apex:image value="/069A00000009Ux3" width="220" height="55"/>
</apex:page>
Oui, l'enregistrement dans l'objet Document fonctionne. Seul inconvénient est l'application, puis ne peut pas être emballé si la table de documents a des enregistrements aussi loin que mon collègue a essayé. Je souhaite que nous pourrions le faire avec facilité .. –