Как Вы открываете веб-страницы в Java?

создайте папку '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 
13
задан Joachim Sauer 19 November 2012 в 18:01
поделиться

5 ответов

Открыть веб-страницу с помощью веб-браузера по умолчанию легко:

java.awt.Desktop.getDesktop().browse(theURI);

Встраивать браузер не так просто. JEditorPane имеет некоторую возможность HTML (если я правильно помню мои ограниченные знания Swing), но она очень ограничена и не подходит для браузера общего назначения.

29
ответ дан 1 December 2019 в 20:57
поделиться

еще не пробовал, но парсер и просмотрщик кобры из 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");
  }
}
0
ответ дан 1 December 2019 в 20:57
поделиться

Я не знаю, существует ли такая встроенная функция, но я бы использовал класс Runtime '

-1
ответ дан 1 December 2019 в 20:57
поделиться

Если вы разрабатываете апплет, вы можете использовать AppletContext.showDocument . Это будет одна строка:

getAppletContext().showDocument("http://example.com", "_blank");

Если вы разрабатываете настольное приложение, вы можете попробовать Запуск браузера Bare Bones .

0
ответ дан 1 December 2019 в 20:57
поделиться

Есть два стандартных способа, которые я знаю:

  1. Стандартный JEditorPane компонент
  2. Рабочий стол . getDesktop () . browse (URI) , чтобы открыть браузер пользователя по умолчанию (Java 6 или более поздняя версия)

    Вскоре также будет третий :

  3. Компонент 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();
            }
        }
    }
});
2
ответ дан 1 December 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: