Static Files download

Hi All,
I have uploaded Javascript/CSS files as Static files in my application. Their are few changes required in these files. But when I downloading again these files, I am getting old files from the application. How could I resolve this problem to get the latest file from the application? Waiting for the response.
Thanks in advance.
Regards.
Ranjan

Hi all,
No response on this one since last September???
Having the same problem in Apex 3.0.
Had more problems in dealing with static files.
Static files are not included in an application export.
Separate export fails to import when exchanging them between workspaces.
Solved this by running the script in SQL Workshop.
We now have multiple instances of the same file for each application in the same workspace:
damen.js     application/octet-stream     1143     300     03/05/2008 11:13:33 AM     Download
damen.js     application/x-javascript     1143     311     03/20/2008 12:03:15 PM     Download
damen.js     application/x-javascript     1892     312     04/23/2008 02:10:54 PM     Download
damen.js     application/x-javascript     1143     310     03/20/2008 12:01:36 PM     DownloadJust uploaded a new version of the file, as can be seen with the time stamp.
The application is using the newly added Javascript function.
Though the file is less the 2k in size, it can not be opened in Apex.
However when downloading the file for more modifications the changes are 'lost'.
It seems that one of the other instances is returned in the download.
When hovering over the download icons, the URL's shown in the status bar are indeed all the same.
So, how to retrieve the last version of the file??
Thanks for your attention.

Similar Messages

  • Static file Download Losing File Name

    Hi,
    <br><br>
    I have a problem with downloading a static file. When i download a file from the application's static files i lose the file's name. The file name that i get on download is : wwv_flow_file_mgr.get_file - not very nice!
    <br><br>
    Here is my link code:
    <br><br>
    a href="#WORKSPACE_IMAGES#Form.doc">Download Form</a
    <br><br>
    Thanks!
    <br><br>
    -Immanuel<br>

    Hi Vikas and Anyone else that reads this post,
    After playing around with a few ideas i have managed to solve the problem! :)
    Create a SQL report with the following definition:
    select ID from htmldb_application_files where FILENAME = 'Form.doc'
    Then in the report definition --> Report Attributes --> column attributes for ID column --> Column Formatting -->
    Enter the following under the HTML Expression:
    (div style="text-align:center;")
    (a href ="p?n=#ID#" /)Download the Form(/a)
    (/div)
    -- note: ( ) are actually < >
    And you get the original filename from the download :)!
    Good luck to every1,
    -Immanuel

  • Static File download.

    Hi,
    I need to download a static file (javascript file) which i uploaded long back in the Static Fiel repository, i dont have the original file with me. i tried the steps mentioned in this url Static Files
    . but it is not working for me.

    Hi Scott,
    Thanks,
    Long back,i uploaded a javascript file in the Application static files region, i dont have any back-up of that JS file with me, i have to make some changes in that file now.. but there is no provision in apex to download the file. Please let me know if any solutions is avaliable.
    Som

  • How do you download a static file using a FileReference and URLRequest and show the progress?

    All,
       I'm trying to download static content (PDFs) off of my server using tutorials from adobe's site and some online as well and i'm having no luck showing an updated progress bar.  I attached the meat of my code below.  If a user clicks a hyperlink, it calls the downloadPDF method passing in a constant url defined.
      When debugging, i can see that the event.bytesLoaded is incrementing on each call to the progress method, however the bytesTotal is only set to the intitial number of bytes transferred on the first pass through the method.  (Ex:  First time the method is called, bytesLoaded and bytesTotal will be 4,000... which i dont understand... the bytesTotal should be the total size of the file being downloaded.. definitely not the case...  the next time the method is called, bytesLoaded will increases to some number while bytesTotal will remain at 4,000).  This happens during the entire file transfer.
    Am i missing something? Are the examples incorrect?  Also to note, i'm using sdk 3.2 (Not sure if that makes a difference.)
    Thanks for any response or insight.
    Damian
    <mx:Script>
            <![CDATA[
                import com.ctc.fema.resources.Buttons;
                import flash.net.FileReference;
                private var fileRef:FileReference;
                private var urlReq:URLRequest;
                 * Constant values for user manual pdfs
                private static const PDF_STRING:String = "blahblahblah.pdf";
                private function init():void
                    /* Define file reference object and add a bunch of event listeners. */
                    fileRef = new FileReference();
                    fileRef.addEventListener(Event.COMPLETE, completeHandler);
                    fileRef.addEventListener(Event.OPEN, openHandler);
                    fileRef.addEventListener(ProgressEvent.PROGRESS, progressHandler);
                private function doEvent(evt:Event):void
                    /* Create shortcut to the FileReference object. */
                    var fr:FileReference = evt.currentTarget as FileReference;
                    try
                        /* Update the Model. */
                        fileRefModel.creationDate = fr.creationDate;
                        fileRefModel.creator = fr.creator;
                        fileRefModel.modificationDate = fr.modificationDate;
                        fileRefModel.name = fr.name;
                        fileRefModel.size = fr.size;
                        fileRefModel.type = fr.type;
                        /* Display the Text control. */
                    catch (err:*)
                        /* uh oh, an error of sorts. */
                private function downloadPDF(url:String):void
                    /* Begin download. */
                    urlReq = new URLRequest(url);
                    fileRef.download(urlReq);
                 * When the OPEN event has dispatched, change the progress bar's label
                 * and enable the "Cancel" button, which allows the user to abort the
                 * download operation.
                private function openHandler(event:Event):void
                    downloadStatusContainer.visible = true;
                    downloadStatusContainer.includeInLayout = true;
                    downloadProgressBar.label = "DOWNLOADING %3%%";
                    cancelButton.enabled = true;
                 * While the file is downloading, update the progress bar's status.
                private function progressHandler(event:ProgressEvent):void
                    downloadProgressBar.setProgress(event.bytesLoaded, event.bytesTotal);
                 * Once the download has completed, change the progress bar's label one
                 * last time and disable the "Cancel" button since the download is
                 * already completed.
                private function completeHandler(event:Event):void
                    downloadStatusContainer.visible = false;
                    downloadStatusContainer.includeInLayout = false;
                    downloadProgressBar.label = "DOWNLOAD COMPLETE";
                    cancelButton.enabled = false;
                 * Cancel the current file download.
                public function cancelDownload():void
                    fileRef.cancel();
                    downloadProgressBar.label = "DOWNLOAD CANCELLED";
                    cancelButton.enabled = false;
                    downloadStatusContainer.visible = false;
                    downloadStatusContainer.includeInLayout = false;
            ]]>
        </mx:Script>

    The tick counter has a resolution of 1 ms.  Resolution, accuracy, and the responsiveness of the OS are three different things.  The issue is that OS latency can be 10s of milliseconds or occasionally longer.  If the OS decides to index the hard drive between the time you read the tick count and send the start audio command, your tone could be quite late. Sending the TTL pulse is a third call to the OS.  So you have two latency times for each trial. Unless you have a real-time operating system, this latency issue will introduce randomness into your data.
    Try sending TTL pulses of 50 ms duration every 200 ms, software timed, for a few minutes and look at the variation in the edge timing.  Then try it again with tones thrown into the mix and see if the variation changes. 
    That is where hardware timing and synchronization pays off. 
    Lynn 

  • Problem in File Download

    In some thread, i had this problem with file download that instead of opening File Save..popup, the contents of file on the server were being rendered statically as HTML. I have figured out the solution to that but now the thing is in every file, there are some \n\r being added in the beginning of the file. Can anybody help. Here's is my code.
    <%@ page import="java.io.*"%>
    <%
         try
              response.setContentType("APPLICATION/OCTET-STREAM");
              String strProjectInfoPageHeader = "Attachment;Filename=\"" + request.getParameter("txtProjectInfoPageFileName") + "\"";
              response.setHeader("Content-Disposition", strProjectInfoPageHeader);
              File fileToDownloadProjectInfoPage = new File(request.getParameter("txtProjectInfoPageFilePath"));
              FileInputStream fileInputStreamProjectInfoPage = new FileInputStream(fileToDownloadProjectInfoPage);
              int varProjectInfoPage;
              while ( (varProjectInfoPage=fileInputStreamProjectInfoPage.read()) != -1 )
                   out.write(varProjectInfoPage);
              out.flush();
              out.close();
              fileInputStreamProjectInfoPage.close();
         catch(Exception e)
              out.println(e);
    %>Thanks and regards
    Vikram

    JSPs will invariably have newlines and whitespace in them, even if you don't explicitly put them. Instead of wasting time trying to fix it, just move your code to a servlet and map it to the same path. That's the fastest and most sensible solution. It also follows the convention that JSPs are to be used for display only and servlets for processing.
    People on the forum help others voluntarily, it's not their job.
    Help them help you.
    Learn how to ask questions first: http://www.catb.org/~esr/faqs/smart-questions.html
    ----------------------------------------------------------------

  • File download from a portletized ADF app running in webcenter spaces.

    Hi,
    I am having trouble downloading non static files from a portletized(with ADFPortletBridge) ADF application running as a portlet producer in Webcenter spaces .
    This is my scenario :
    Jdev : 11.1.1.3
    Webcenter : 11.1.1
    The ADF app has a query page, that uses the af:query component to do a query and display results on a table. This table data need to be exported as a file with some changes like splitting address to component city and state columns .
    The ADF app makes use of af:filedownloadlistener to get this(HTML formatted file with an .xls ext is our current preference to get it to open in excel, but could be anything) done . The ADF app works just fine, but as section 30.2.5.5 in the web center dev guide points out http://download.oracle.com/docs/cd/E14571_01/webcenter.1111/e10148/jpsdg_bridge.htm#CACBHDEF
    > The <af.fileDownloadActionListener> component is not supported.
    The actual behavior however is that the export happens when triggered, but the component keep serving up the same file it created the first time it got invoked every subsequent time. The same file is served even across sessions.
    The alternatives I've considered so far are :
    1. <af:exportCollectionActionListener> - Exports what you see on the UI table. Would not work for us, because our exported data is different than whats on screen. (eg: whole addresses are displayed as a single column, but broken down as component city and state columns in exported data )
    UPDATE : <af:exportCollectionActionListener> exhibits the same behavior as <af.fileDownloadActionListener> in a portlet environment. The first time after deployment it works, and every subsequent time (across sessions) it serves up the same file it first generated.
    2. redirect to a servlet - admittedly half baked idea - fiire an action that will generate the report, then put it in sessionScope , redirect to a servlet that would pick up the report from session and stream it to the user by setting the servlet's response content type. Very unsure if this would fly in a portlet environment (sorry, I'm new to portlets) and even if it does, section 30.2.5.2 in the web center dev guide says :
    Do not redirect or forward a request within your JSP. JSR 168 only supports requestDispatcher.include(). The use of httpServletResponse.sendRedirect() or requestDispatcher.forward() results in exceptions and errors. Am I overlooking some feature that would let me do this or whats the recommended method to achieve this functionality of exporting a file generated at run-time in a portlet environment ?
    Edited by: Jeevan Joseph on Oct 14, 2010 1:02 PM

    I'm facing the same problem. Do you have any news on this issue?

  • File download from fnd_lobs

    Hi all !
    I am trying to implement a file download process into an existing table (table for requisition_lines_all).
    I first want to test the code written in the dev guide but it is not working !
    I extend the ReqLinesNotificationCo with the code :
              OAViewObject fndLobs = (OAViewObject)oaapplicationmodule.findViewObject("testDownloadVO");
              if ( fndLobs == null )
                   fndLobs = (OAViewObject)oaapplicationmodule.createViewObject("testDownloadVO", "oracle.apps.fnd.server.FndLobsVO");
              fndLobs.setWhereClause("file_id = :1");
              fndLobs.setWhereClauseParam(0, "402426");
              fndLobs.executeQuery();
              OAMessageDownloadBean downloadBean =
                             (OAMessageDownloadBean)createWebBean(oapagecontext, MESSAGE_DOWNLOAD_BEAN);
              downloadBean.setViewUsageName("testDownloadVO"); // always gives full name of view instance
              downloadBean.setViewAttributeName("FileName"); // for display text of the link
              downloadBean.setContentViewAttributeName("FileData"); // the file content
              // if content type is stored in a view attribute, it can be retreived through
              // data bound value. Otherwise, a static value can also be set:
              // e.g. downloadBean.setFileContentType("text/html")
              //OADataBoundValueViewObject contentBoundValue = new OADataBoundValueViewObject(downloadBean, "FileContentType");
              //downloadBean.setAttributeValue(FILE_CONTENT_TYPE, contentBoundValue);
              downloadBean.setFileContentType("application/pdf");
              OADataBoundValueViewObject contentBoundValue = new OADataBoundValueViewObject(downloadBean, "application/pdf");
              downloadBean.setAttributeValue(FILE_CONTENT_TYPE, contentBoundValue);
              downloadBean.setPrompt("Attached Document");
              oawebbean.addIndexedChild(downloadBean);
    When testing, the page returns :
    oracle.apps.fnd.framework.OAException: oracle.jbo.NoDefException: JBO-25002: Definition FileId of type Attribute not found
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1223)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2928)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725)
    I thought this code should create a column with always the same file (file id = 402426), but ... No way !
    Did I miss something ?
    Thanks
    regards

    Check the column alias for the file_id. You are using file_id but the alias mapping is set to fileid. Make sure of column alias and save the VO, test.
    --Shiv                                                                                                                                                                                                                                                                                                                               

  • Not able to access files from Workspace Images and Static files

    Hi,
    We have just migrated our APEX Application from one server to another.
    All the functionality is working fine except the images or files which we are uploading
    in
    Shared Components -> Static Files
    Shared Components -> Images
    We are uloading Images in Shared Components -> Images but those are not getting displayed there.
    Similarly the files which we are uploaded in Shared Components -> Static Files are not accessible. If we
    try to download using download icon its showing blank screen.
    I am using some javascript files which i have uploaded into static files, but not able to refer them in page.
    Please someone guide us how to resolve the above problem.
    Thanks in advance.
    Thanks & Regards
    Sanjay
    Edited by: user11204334 on May 25, 2010 1:35 AM
    Edited by: user11204334 on May 25, 2010 3:45 AM

    Hello Sanjay,
    If you upload any static files such as IMAGES, FILES, or CSS you have to use the tags: #WORKSPACE_IMAGES# or #IMAGE_PREFIX# depending on your files location..
    then try something like htp.p ('<img src="#IMAGE_PREFIX#fileName.gif" />');
    And it should show the fileName.gif on your browser...
    I am not sure if i remember correctly, you can reference files to a specific application or to the whole application, if I am not mistaken..Correct me..
    Regards,
    Noel Alex Makumuli,
    Tanzania

  • ADF - Component File Download Listener - Setting the output filename

    Studio Edition Version 11.1.1.2.0
    Hi, I would like to learn how to set the output filename as current data + filename. I have a button with the component File Download Listener that has theses parameters
    Content/Type: application/pdf
    Filename: test.pdf
    Method: fullReportPDF()
    I needed that when the user clicks the button, that he return the current date + filename statically defined.
    How i may to make this?

    In a bean you implement a method which return the filen ame date and static part concatenated and set it as EL into the af:fileDownloadActionListener
    // on the page
    <af:fileDownloadActionListener contentType="application/pdf"
                                             filename="#{XYZBean.filename}"
                                             method="#{XYZBean.fullReportPDF}"/>
    // in the bean
        public String getFilename()
            String fn = (new Date()).toString() + "static_part.xyz";
            return fn;
        public void fullReportPDF(FacesContext facesContext, OutputStream outputStream) { ... }where XYZBean is the bean where you have implmented the method fullReportPDF.
    Timo

  • ITunes U video URL must point to a static file?

    Hi,
    I'm the administrator of Cinémathèque française's iTunes U account.
    Until now, we hosted our videos on a server where they could be accessed directly as a static file (i.e. the .mp4 file). We recently decided to host our videos on Vimeo Pro. Vimeo offers the possibility to download the files, but the URLs don't point to the static file but to a script (e g: vimeo.com/95951401/download?t=1400671865&v=255635975&s=687ebc6dbe9614509bb857c2b 588d64f) that redirects to the video file with an authorization token.
    The item's enclosure element in the RSS feed is thus: <enclosure type="video/mp4" url="http://vimeo.com/95951401/download?t=1400671865&v=255635975&s=687ebc6dbe9614509b b857c2b588d64f" length="713717774"/>
    This doesn't seem to be valid with iTunes U. I get this error message when I try to refresh the feed for my collection:
    MXPodcastPublishSubmit.IndigoFeedError [...] iTunes U could not update the content because iTunes U could not connect to the server hosting the specified feed or resources (http://vimeo.com/95951401/download?t=1400671865&v=255635975&s=687ebc6dbe9614509b b857c2b588d64f). Until the issue is resolved ... etc.
    Has anybody run into this problem? Do you confirm that iTunes U won't accept an URL that's not a directly accessible video file? Any idea how this issue can be solved?
    Thanks,
    Nicolas

    It occurred to me that you are creating a "Collection" not a "Course". Have you tried creating a small course with Course Manager? It has no restrictions on links, and the final course can still be made public.

  • How can I point the static files in XE 11

    Hi guys,
    I have installed Oracle XE 11 g. According to the steps of installing APEX listener I have to feed the CMD with the Static Files path.
    What is the path of Static Files, in Oracle XE 11g.
    Thanks In Advance,
    Fateh

    Hi Fateh,
    Oracle XE stores the static files for APEX inside the database per default, as it ships with APEX preinstalled and accessible through the Embedded PL/SQL Server.
    If you plan to use APEX Listener to host that APEX, the easiest way would be to download the corresponding APEX release (4.0.2) and unzip the "images"-directory contained in that installation package to some place you can reference from your APEX Listener. Another option would be to "unload" the images from the database.
    -Udo

  • Has something changed with Static Files?

    Here is a static file I uploaded last year:
    http://apex.oracle.com/pls/otn/wwv_flow_file_mgr.get_file?p_security_group_id=563610923303911988&p_fname=AskExpert.zip&p_inline=NO
    It can be downloaded by anyone.
    Here's one I uploaded this week:
    http://apex.oracle.com/pls/otn/wwv_flow_file_mgr.get_file?p_security_group_id=563610923303911988&p_fname=f107_TL.sql&p_inline=NO
    It gives an "Access Denied" message unless downloaded from a link in an application,
    or if the browser has been logged into the Application Builder.
    The links above are from the floppy disk icons on the Static Files page. (4000:40)
    I don't think I did anything different when I uploaded the files.
    Some new security must be applied when the files are uploaded now.
    Is this the correct new behavior?
    It's probably not normal to use Static Files outside of Apex, but I have used them in the past to share files on this forum.
    Thanks,
    Doug

    I downloaded the file, renamed it, and uploaded it again.
    It is publicly downloadable:
    http://apex.oracle.com/pls/otn/wwv_flow_file_mgr.get_file?p_security_group_id=563610923303911988&p_fname=f107_TL2.sql&p_inline=NO
    while the original still is not:
    http://apex.oracle.com/pls/otn/wwv_flow_file_mgr.get_file?p_security_group_id=563610923303911988&p_fname=f107_TL.sql&p_inline=NO
    I guess that shows that Static Files are still working as always,
    but perhaps something funny happened to the first one.
    Good enough.
    Thanks for looking into it.
    Doug
    To finish beating this dead horse, I guess I could install an application from the renamed file and see what happens to the static file.
    But I probably will not.

  • Bug uploading static files

    I notice one bug when uploading static files. If you try to upload static file with same name as existing one and to same application you'll get error "Static file name already exists" and the file will be uploaded with flow_id 0 (view apex_application_files), but it won't be visible in APEX Builder. Also, when you try to download this file from builder, it looks like APEX randomly chooses which one to download.
    I've tried this on apex.oracle.com and same thing.
    Br,
    Marko

    Hi Marko,
    Currently APEX doesn't have any version control for static files so I suggest adding a version number to the file name when uploading.
    Thanks
    Paul

  • Make files downloadable from outside tomcat(web) context

    Hi there,
    I made an application on whicht people can upload word/pdf files.
    I put them in a dir called /opt/customer/2342/ , where 2342 is the customer id.
    The files are stored there, because I don't want people to be able to just download the files by using http://www.blahblah.com/customer/2342
    Now I want to create a servlet or jsp file that is able to make the files downloadable for specific users.
    Of course I can find the files using java.util.File. But I don't have a clue how to make them downloadable from this path. Should it be something with a FileStream... ?? And adding the mime-type?
    Can anybody give me some hints on making files downloadable from a specific dir?
    Thanks in advance.
    Jeroen van Hertum

    here is a servlet that is used to load files that are stored on the file system. The user submits the file path releative to a know file path.
    package common.servlet;
    import java.io.*;
    import java.net.*;
    import javax.naming.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.log4j.Logger;
    public class FileResourceServlet extends HttpServlet
        // -------- Static fields ----------------------------------------------
        // Logger
        private static Logger logger = Logger.getLogger(FileResourceServlet.class.getName());
         * Root context for all JNDI lookups
        private static final String ROOT_CONTEXT = "java:comp/env";
         * JNDI lookup name of the binary path value
        private static final String BINARY_PATH_KEY = "binaryPath";
         * Default in case looking it up from the environment fails
        private static final String DEFAULT_FILE_RESOURCE_PATH = "/home/cp/bin";
        // -------- Fields -----------------------------------------------------
        private String fileResourcePath = null;
        // -------- Methods ----------------------------------------------------
         * Initializes the servlet.
        public void init(ServletConfig config) throws ServletException
            super.init(config);
            try
                //Get Norm's info
                Context initCtx = new InitialContext();
                Context envCtx = (Context)initCtx.lookup(ROOT_CONTEXT);
                fileResourcePath = (String)envCtx.lookup(BINARY_PATH_KEY);         
            catch( Exception e )
                logger.error("Error looking up file resource path, going with " +
                             "default value - " + DEFAULT_FILE_RESOURCE_PATH, e);
                this.fileResourcePath = DEFAULT_FILE_RESOURCE_PATH;
            logger.debug("File Resource Path:" + fileResourcePath );
         * Destroys the servlet.
        public void destroy()
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
         * @param request servlet request
         * @param response servlet response
        protected void processRequest(HttpServletRequest request,
                                      HttpServletResponse resp)
                                      throws ServletException, IOException
            ServletContext sc = getServletContext();
            String pathInfo = request.getPathInfo();
            logger.debug("Path Info: " + pathInfo);
            if (pathInfo!=null && !pathInfo.startsWith("/")) pathInfo = "/" + pathInfo;
            String filename = fileResourcePath + pathInfo;       
            logger.debug("Binary Filename:" + filename );
            // Get the MIME type of the image
            String mimeType = sc.getMimeType(filename);
            if (mimeType == null)
                //sc.log("Could not get MIME type of " + filename);
                logger.warn("Could not get MIME type of " + filename);
                resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                return;
            // Set content type
            resp.setContentType(mimeType);
            // Set content size
            File file = new File(filename);
            resp.setContentLength((int)file.length());
            // Open the file and output streams
            FileInputStream in = new FileInputStream(file);
            OutputStream out = resp.getOutputStream();
            // Copy the contents of the file to the output stream
            byte[] buf = new byte[2048];
            int count = 0;
            while ((count = in.read(buf)) >= 0)
                out.write(buf, 0, count);
            in.close();
            out.close();
         * Handles the HTTP <code>GET</code> method.
         * @param request servlet request
         * @param response servlet response
        protected void doGet(HttpServletRequest request,
                             HttpServletResponse response)
                             throws ServletException, IOException
            processRequest(request, response);
         * Handles the HTTP <code>POST</code> method.
         * @param request servlet request
         * @param response servlet response
        protected void doPost(HttpServletRequest request,
                              HttpServletResponse response)
                              throws ServletException, IOException
            processRequest(request, response);
         * Returns a short description of the servlet.
        public String getServletInfo()
            return "Short description";
    }

  • APEX 3.1 - Cache of Workspace Images or Static Files

    Hi,
    I attended the ODTUG Conference and they mentioned that in 3.1 Images and Static files (uploaded as shared components) are now cached. Where in the documentation does it state this? Can you configure the cache settings?
    Thank you,
    Martin

    Hi Joel,
    >> See....if you came to one of these conferences like OOW or ODTUG, I could …
    Yeah, rubbed it in, why don’t you :)
    >> It has nothing to do with the upload procedure …
    That was my mistake. I meant the downloading/delivery procedure.
    >> I'm not sure I understand what you mean by "free files"
    By “free” files, I meant data files that were uploaded to the database, like scanned documents etc., and not the classic static files like JavaScript, CSS, or the firm logo image.
    Now, with 3.1 native support of BLOB, and the rumors that your team is working on a revised version of the document library package, things might be simpler for issues like (simple) content management.
    >> Please let me know if this does not make sense.
    Tyler post came right on time, to fulfill your pseudocode explanation. After reading Tyler post, I better understand what you meant, and how I can achieve it. At first, I thought that all the HTTP header stuff id done for you, by some built-in or Oracle supplied package, but now I understand it’s the developer responsibly.
    One more thing about Tyler post, which was published prior to version 3.1. He mentioned the need to add some specific entries to the DAD, in order to utilize this technique:
    “If you’re using Oracle HTTP Server (Apache + mod_plsql), add the following lines to your Database Access Descriptor (DAD), then bounce OHS to apply your changes:
    PlsqlCGIEnvironmentList HTTP_IF_NONE_MATCH
    PlsqlCGIEnvironmentList IF_MODIFIED_SINCE “
    Is this still the case with 3.1? I don’t remember reading about these specific entries in the installation documentation. My current DAD don’t includes these entries, and still it seems like the caching of static files is working (I tested against apex.oracle.com).
    Thanks and regards,
    Arie.

Maybe you are looking for