Fejlesztői kézikönyv 6.3

XML Referencia 6.3

Effector Studio 6.3 összefoglaló

Effector Studio 6.3 kézikönyv

Fejlesztői kézikönyv 6.2

XML Referencia 6.2

Effector Studio 3.2 összefoglaló

Effector Studio 3.2 kézikönyv

Fejlesztői kézikönyv 5.5

XML referencia 5.5

Effector Studio 2.0 kézikönyv

Effector Studio 2.0 összefoglaló

FileInterface

A fájl letöltést, feltöltést és megjelenítést a FileInterface nevű funkció látja el. A letöltés és megjelenítés funkciók direkt hivatkozás helyett indirekt hivatkozásokkal működnek. Ezekhez az indirekt hivatkozásokhoz lehet lejárati időt is megadni. Minden hozzáférést naplóz a rendszer. Az indirekt hivatkozásokat a FSYS_FileInterface táblában tárolja a rendszer. Az indirekt hivatkozások használatát (hozzáférés napló) az FSYS_FileInterfaceLog tábla tárolja.

Feltöltés

A dokumentum típusú mezőknek a fájl feltöltés funkcióját látja el. Lényegében a fájl feltöltés a FileUpload.aspx url helyett a FileInterface?a=upload url-en keresztül történik meg. Csak bejelentkezett felhasználóval lehet feltölteni dokumentumot.

Letöltés

Az url FileInterface?p=<<PUBLICID>>&a=download formátumú, ahol a PUBLICID a FileInterface által generált azonosítót jelenti.

DataDefinition-beli példa:

<Column name="FileInterfaceID">
    <UseFileInterface>true</UseFileInterface>
    <Definition>
        CAST(d.DocumentID  AS VARCHAR(20)) as FileInterfaceID
    </Definition>
    <IdColumn>DocumentID</IdColumn>
    <OutFilter type="Param">
        <Alias>FileInterfaceID</Alias>
    </OutFilter>
</Column>
<Column name="FileLink">
    <IsComposite>true</IsComposite>
    <Definition>
        <![CDATA[
            '<a href="FileInterface?p=[##Column.FileInterfaceID##]&a=download" target="_blank">' +  ISNULL(d.RenamedFilename,'') + </a>' AS FileLink
        ]]>
    </Definition>
    <IdColumn>DocumentID</IdColumn>
</Column>

Megjelenítés

Az url FileInterface?p=<<PUBLICID>>&a=display formátumú, ahol a PUBLICID a FileInterface által generált azonosítót jelenti. Ezzel lehetővé válik nem csak a Document táblában szereplő fájlok megjelenítése, hanem tetszőleges rendszerbeli fájlt meg lehet jeleníteni (amit az urlfilter.xml szabályoz továbbra is).

EmbeddedWebDisplay-beli példa:

<URL type="Constant" return="string" default="">
    <![CDATA[
        FileInterface?p=[##Filter.FileInterfaceID##]&a=display
    ]]>
</URL>

Custom DLL-beli változtatások

példa

retVal.RedirectTarget = “_blank”;
object publicID = dataProvider.CreateFileInterfaceReference(fileName);
retVal.RedirectURL = string.Format(“/FileInterface?p={0}&a=download”, publicID);

XML paraméterezés

Ahhoz, hogy egy fájlt le tudjunk tölteni, létre kell hozni az indirekt hivatkozást rá. Ha egy int típusú mezőre hozunk létre indirekt hivatkozást, azt úgy veszi a rendszer, hogy a dokumentum táblából kell szedni a dokumentumot. Az indirekt hivatkozás létrehozása a DataDefinition Column/UseFileInterface node-jának true értékre állításával történik. Ilyenkor az Effector az adott oszlopban található értéket felhasználva létrehoz minden egyes sorhoz egy indirekt hivatkozást, és a generált azonosító értékére cseréli az eredeti értéket a táblázatban. Ettől még nem lesz letölthető a dokumentum. Létre kell hozni egy másik oszlopot, amelyben összeállítjátok a letöltés linket. Példa:

<Column name="FileInterfaceID">
    <UseFileInterface>true</UseFileInterface>
    <Definition><![CDATA[CAST(d.DocumentID  AS VARCHAR(20)) as FileInterfaceID]]></Definition>
    <IdColumn>DocumentID</IdColumn>
    <OutFilter>
        <Type>Param</Type>
        <Alias>FileInterfaceID</Alias>
    </OutFilter>
</Column>
<Column name="FileLink">
    <IsComposite>true</IsComposite>
    <Definition><![CDATA['<a href="FileInterface?p=[##Column.FileInterfaceID##]&a=download" target="_blank">' + ISNULL(d.RenamedFilename,'') + '</a>' AS FileLink]]></Definition>
    <IdColumn>DocumentID</IdColumn>
</Column>

A "FileInterfaceID" oszlopban van a generált indirekt hivatkozás, a "FileLink" oszlopban található a letöltéshez előállított link. Másik újdonság, amit ez a fejlesztés hozott az úgynevezett Composite oszlop. Az IsComposit node true értéke jelzi a rendszer számára a funkció bekapcsolását, és ilyenkor az oszlop értékének lekérdezése után a [##Column.##] hivatkozások ki lesznek cserélve az adott sorban található oszlopok értékére.

  • Legutóbb frissítve: 25 hét 5 napja
  • Effector