src="/wav/2B916004DFE94FA40446429E1671C893_0001053.mp3"
Please confirm that your file is placed under the path
"..../apache-tomcat-9.0.30/webapps/ROOT/wav/"   not " /wav/ "

On Tue, Mar 12, 2024 at 11:20 AM Sam <maverick...@gmail.com> wrote:

> Hi Chris,
>
> I'm creating the audio file dynamically from DB and  I check if the file
> exists using File.exists() method.
>
> Before returning the html code with audio tag, I'm verifying that file
> exists on File System.
>
> Thanks!
>
> On Mon, Mar 11, 2024 at 2:36 PM Christopher Schultz <
> ch...@christopherschultz.net> wrote:
>
> > Sam,
> >
> > On 3/11/24 13:04, Sam wrote:
> > > On the server side, I'm checking that file exists before returning the
> > file
> > > path to the browser. We are also dynamically creating pdf files this
> way
> > > and no issues with accessing them.
> >
> > How are you checking to see if the file exists? It's possible that your
> > check-for-existance triggers the "not found" in Tomcat's <Resources>
> > instance, then you create your file on-disk and return the path to the
> > browser, then the browser requests the path and gets the cached "not
> > found".
> >
> > > I found something interesting:
> > > https://tomcat.apache.org/tomcat-9.0-doc/config/resources.html From
> this
> > > link:
> > > *Resources are cached by default.*
> > >
> > > I'll try with *Cache-Control* request header and see if it helps!
> >
> > This isn't likey to be the problem. I think the cache you are fighting
> > is the one Tomcat maintains for "resources" which is how Tomcat loads
> > things from ... well, everywhere. Not caching things like "not found"
> > makes things go very slowly.
> >
> > -chris
> >
> > > On Mon, Mar 11, 2024 at 11:46 AM Mark Thomas <ma...@apache.org> wrote:
> > >
> > >> On 11/03/2024 11:31, Sam wrote:
> > >>> Thanks for replying!!
> > >>>
> > >>> Yes audio files are generated dynamically from DB.in a Servlet.
> > >>>
> > >>> I've verified that audio file exists on file system before returning
> > the
> > >>> html code that contains audo control.
> > >>
> > >> Is there any chance of an attempt to access the file before it is
> > >> created? The resources implementation can cache "not found" results
> for
> > >> a short period of time.
> > >>
> > >> You might want to test the code with a simple text file to determine
> > >> whether file type is a factor (which seems unlikely but you never
> know).
> > >>
> > >> Mark
> > >>
> > >>>
> > >>>
> > >>> On Mon, Mar 11, 2024, 5:22 a.m. Mark Thomas <ma...@apache.org>
> wrote:
> > >>>
> > >>>> On 11/03/2024 02:21, Sam wrote:
> > >>>>> I just upgraded a legacy application from Tomcat 7 to Tomcat 9.
> It's
> > >>>>> deployed as a war file. I'm facing a weird issue with audio files
> > >>>> playback.
> > >>>>>
> > >>>>> When loading a page that contains an audio file. First time Tomcat
> > >>>> returns
> > >>>>> 404 error but if reloading the page, audio file is loaded properly
> > and
> > >> no
> > >>>>> error from Tomcat.
> > >>>>>
> > >>>>> I'm using html 5 audio control to display the file.
> > >>>>>
> > >>>>> All other static resources(images, css and js files) are working
> > >> without
> > >>>>> any issues. Only audio files are having this issue.
> > >>>>>
> > >>>>> I enabled the logs for DefaultServlet in Tomcat. Follwong is the
> log
> > >>>> entry
> > >>>>> when I try to open the audio file first time. I can see 404 being
> > >>>> returned
> > >>>>> from server in Chrome dev tools.
> > >>>>>
> > >>>>>
> > >>>>> *09-Mar-2024 20:12:50.747 INFO DefaultServlet.serveResource:
> Serving
> > >>>>> resource '/wav/2B916004DFE94FA40446429E1671C893_0001053.mp3'
> headers
> > >> and
> > >>>>> data*
> > >>>>> Following is the log for 2nd attempt. This time audio is available
> > and
> > >>>>> playable in browser. *09-Mar-2024 20:13:00.371 INFO
> > >>>>> DefaultServlet.serveResource: Serving resource
> > >>>>> '/wav/2B916004DFE94FA40446429E1671C893_0001053.mp3' headers and
> data
> > *
> > >>>>> *09-Mar-2024 20:13:01.372 INFO DefaultServlet.serveFile:
> > >>>>> contentType='audio/mpeg'*
> > >>>>
> > >>>> Are the audio files generated dynamically on request?
> > >>>>
> > >>>> Mark
> > >>>>
> > >>>>
> > >>>>>
> > >>>>> Here is the audio control code:
> > >>>>>
> > >>>>> <div id="audioContainer" style="height:65px; width:100%;
> > >>>>> visibility:visible; ">
> > >>>>>       <div id="jobAudio" style="height:45px; width: 100%; left:0px;
> > >>>> bottom:0;"
> > >>>>>>
> > >>>>>          <audio controls controlsList="nodownload" style="width:
> > 100%;"
> > >>>
> > >>>>>            <source
> > >> src="/wav/2B916004DFE94FA40446429E1671C893_0001053.mp3"
> > >>>>> type="audio/mpeg" >
> > >>>>>          </audio>
> > >>>>>       </div>
> > >>>>> </div>
> > >>>>> I've tried relative path and full path but result is the same in
> both
> > >>>> cases.
> > >>>>>
> > >>>>> I've spent days trying to solve this but no luck :(
> > >>>>>
> > >>>>> I would really appreciate any guidance to solve this issue.
> > >>>>>
> > >>>>> Thanks!
> > >>>>>
> > >>>>
> > >>>>
> ---------------------------------------------------------------------
> > >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > >>>> For additional commands, e-mail: users-h...@tomcat.apache.org
> > >>>>
> > >>>>
> > >>>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > >> For additional commands, e-mail: users-h...@tomcat.apache.org
> > >>
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: users-h...@tomcat.apache.org
> >
> >
>

Reply via email to