Hi,

Yes, path is tomcat/webapps/ROOT/wav/

As I said earlier, 404 error is only returned 1st time.

Subsequent requests work fine.


On Tue, Mar 12, 2024, 3:13 a.m. Anson Cheung <xiaohuache...@gmail.com>
wrote:

> 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