初めましての投稿になります。
現在、audioとPHPを利用して音声ファイルのアップロード処理の作成を行っているのですが、
削除ボタンを押下してファイル削除を行い、次のファイルをアップした時に、
Audioのデータが前の情報のままとなってしまいます。
なお、保存後のファイル名については同一となります。
また、ファイル自体は削除されています。
Audio('file_path')を利用してjsでもやってみたのですが、同じでした。
初期化ができそうな気もしますが、調べても分かりませんでした。
教えて頂けますでしょうか。よろしくお願いします。
【流れ】
1、A.mp3(3分)をアップロード(ajax)(ファイル名は「12345.mp3という名前でサーバーに保存」)
2、画面に3分と表示される(<audio controls src="/file_path/12345.mp3"></audio>)
3、A.mp3を削除(ajax)('/file_path/'内からも削除確認済み)
4、B.mp3(10分)をアップロード(ajax)(ファイル名は「12345.mp3という名前でサーバーに保存」)
5、画面に3分と表示される(<audio controls src="/file_path/12345.mp3"></audio>)
6、'/file_path/'には新しいファイルB.mp3(10分)がアップされている
以下参考になるか分からないくらい省略してしまいましたが、ソースの内容になります。
html
1<audio controls src=""> 2 Your browser does not support the 3 <code>audio</code> element. 4</audio> 5
js
1 2 let audio_file= localStorage.getItem('audio_file'); 3 let is_updated = localStorage.getItem('is_updated '); 4 5 /*-----------------------------------------------" 6 初期表示 7 -----------------------------------------------*/ 8 if(is_updated == 1){ 9 $('audio').attr('src', audio_data); 10 }else{ 11 audio_file = ''; 12 } 13 14 /*-----------------------------------------------" 15 音声アップロード 16 -----------------------------------------------*/ 17 $(document).on('click', 'upload-bt', function(){ 18 19 $.ajax({ 20 /*- ajaxスタート -------------------*/ 21 }).done(function(data, textStatus, jqXHR){ 22 /*- 成功-------------------*/ 23 if(data.result === true){ 24 localStorage.setItem('is_updated', 1); 25 localStorage.setItem('audio_file', data.file_name); 26 $('#movie-to-audio-complete audio').attr('src', data.file_name); 27 }else{ 28 /*- 失敗 -------------------*/ 29 } 30 }).fail(function(jqXHR, textStatus, errorThrown){ 31 /*- エラー -------------------*/ 32 }) 33 .always( (data) => { 34 }); 35 36 return false; 37 }); 38 39 /*-----------------------------------------------" 40 音声削除 41 -----------------------------------------------*/ 42 $(document).on('click', '#delete-bt', function(){ 43 $.ajax({ 44 /*- ajaxスタート -------------------*/ 45 }).done(function(data, textStatus, jqXHR){ 46 if(data.result === true){ 47 /*- 完了 -------------------*/ 48 localStorage.setItem('is_updated', 0); 49 localStorage.removeItem('audio_file', data.file_name); 50 }else{ 51 /*- 失敗 -------------------*/; 52 } 53 }).fail(function(jqXHR, textStatus, errorThrown){ 54 /*- エラー -------------------*/ 55 }) 56 .always( (data) => { 57 }); 58 59 return false; 60 }); 61
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/26 01:00