создайте папку 'upload/files'
внутри хранилища / app / public и /upload/files/audio
запустите команду: php artisan storage: ссылка
эта команда будет свяжите вашу папку хранения с общей папкой
обновите ваш код:
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Storage;
use App\File;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
public function store(Request $request)
{
// validation
$this->validate($request, [
'title' => 'required',
'description' => 'nullable',
'file' => 'required|file|mimes:jpeg,jpg,png,gif|max:2048',
'audio' =>'nullable|file|mimes:audio/mpeg,mpga,mp3,wav,aac'
]);
// code for upload 'file'
if($request->hasFile('file')){
$uniqueid=uniqid();
$original_name=$request->file('file')->getClientOriginalName();
$size=$request->file('file')->getSize();
$extension=$request->file('file')->getClientOriginalExtension();
$name=Carbon::now()->format('Ymd').'_'.$uniqueid.'.'.$extension;
$imagepath=url('/storage/uploads/files/'.$name);
$path=$request->file('file')->storeAs('public/uploads/files/',$name);
}
// code for upload 'audio'
// handle multiple files
if(is_array($request->file('audio')))
{
$audios=array();
foreach($request->file('audio') as $file) {
$uniqueid=uniqid();
$original_name=$file->getClientOriginalName();
$size=$file->getSize();
$extension=$file->getClientOriginalExtension();
$filename=Carbon::now()->format('Ymd').'_'.$uniqueid.'.'.$extension;
$audiopath=url('/storage/upload/files/audio/'.$filename);
$path=$file->storeAs('/upload/files/audio',$filename);
array_push($audios,$audiopath);
}
$all_audios=implode(",",$audios);
}else{
// handle single file
if($request->hasFile('audio')){
$uniqueid=uniqid();
$original_name=$request->file('audio')->getClientOriginalName();
$size=$request->file('audio')->getSize();
$extension=$request->file('audio')->getClientOriginalExtension();
$filename=Carbon::now()->format('Ymd').'_'.$uniqueid.'.'.$extension;
$audiopath=url('/storage/upload/files/audio/'.$filename);
$path=$file->storeAs('public/upload/files/audio/',$filename);
$all_audios=$audiopath;
}
}
}
в вашем запросе почтальона:
add key : "file" for image file ,
"audio" for audio file
Открыть веб-страницу с помощью веб-браузера по умолчанию легко:
java.awt.Desktop.getDesktop().browse(theURI);
Встраивать браузер не так просто. JEditorPane
имеет некоторую возможность HTML (если я правильно помню мои ограниченные знания Swing), но она очень ограничена и не подходит для браузера общего назначения.
еще не пробовал, но парсер и просмотрщик кобры из 1127969] lobo browser , браузер, написанный на чистом Java, может быть тем, что вам нужно. Они предоставляют пример кода для настройки онлайновой программы просмотра html:
import javax.swing.*;
import org.lobobrowser.html.gui.*;
import org.lobobrowser.html.test.*;
public class BareMinimumTest {
public static void main(String[] args) throws Exception {
JFrame window = new JFrame();
HtmlPanel panel = new HtmlPanel();
window.getContentPane().add(panel);
window.setSize(600, 400);
window.setVisible(true);
new SimpleHtmlRendererContext(panel, new SimpleUserAgentContext())
.navigate("http://lobobrowser.org/browser/home.jsp");
}
}
Я не знаю, существует ли такая встроенная функция, но я бы использовал класс Runtime '
Если вы разрабатываете апплет, вы можете использовать AppletContext.showDocument . Это будет одна строка:
getAppletContext().showDocument("http://example.com", "_blank");
Если вы разрабатываете настольное приложение, вы можете попробовать Запуск браузера Bare Bones .
Есть два стандартных способа, которые я знаю:
JEditorPane
компонент Рабочий стол
. getDesktop ()
. browse (URI)
, чтобы открыть браузер пользователя по умолчанию (Java 6 или более поздняя версия)
Вскоре также будет третий :
JWebPane
, который, по-видимому, еще не выпущен JEditorPane
очень скучен; он не обрабатывает CSS или JavaScript, и вам даже придется обрабатывать гиперссылки самостоятельно. Но вы можете встроить его в свое приложение более плавно, чем при запуске FireFox.
Вот пример того, как использовать гиперссылки (при условии, что ваши документы не используют фреймы):
// ... initialize myEditorPane
myEditorPane.setEditable(false); // to allow it to generate HyperlinkEvents
myEditorPane.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ENTERED) {
myEditorPane.setToolTipText(e.getDescription());
} else if (e.getEventType() == HyperlinkEvent.EventType.EXITED) {
myEditorPane.setToolTipText(null);
} else if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
myEditorPane.setPage(e.getURL());
} catch (IOException ex) {
// handle error
ex.printStackTrace();
}
}
}
});