Domanda

Sto sviluppando un processo che leggerà e inviare un'immagine a un messaggio e-mail. Questa immagine è una cartella all'interno di questo processo.

Il problema è: come faccio ad ottenere il percorso in cui il processo è in esecuzione

Qualcosa come un 'Server.MapPath' che restituisce il percorso dell'immagine nel file system.

Grazie in anticipo.

È stato utile?

Soluzione

Se sono presenti le immagini in una cartella del BW-progetto è possibile utilizzare il 'Recupera Resource' attività per arrivare al contenuto.

Non vi resta che impostare il resourcePath con il relativo percorso nel progetto e lo farà in uscita i dati base64.

Altri suggerimenti

RetrieveResources SOAP potrebbe essere una buona soluzione, ma getta una NullPointerException per me su BW 5.4. Forse si tratta di un bug in questa versione.
Il problema per quanto riguarda ottenere un 'percorso principale' è che un progetto BW distribuito non conserva la sua struttura di cartelle / file originale - il Deployer non 'esplodere' il file EAR. Quindi non troverete l'immagine come un file separato sul casella server BW
C'è un modo semplice per caricare dinamicamente i file XML, utilizzando la seguente istruzione XPath:.

tib:render-xml(document('tibcr://path/to/file.xml'))

, ma, ovviamente, non riuscire a file binari. La mia ipotesi migliore per la memorizzazione di dati binari all'interno di un progetto di BW potrebbe essere quella di conservarlo come una stringa costante in formato Base64 o Hex.

Nel caso in cui qualcuno si imbatte in questa domanda (come ho fatto io oggi), ecco un modo per ottenere il percorso assoluto di un file all'interno dell'applicazione. Il seguente codice può essere usato in un'attività "Java Code", per esempio, essere relativePath e AbsolutePath parametri di ingresso e di uscita, rispettivamente:

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top