Ich entwickle eine Rest API mit Spring Boot und AngularJS auf der Client-Seite, ich lade Dateien in/resources/static/upload mit Spring mit dem RestController unten und mit ihnen in den ClientSpring: Verweis auf die Ressourcen/statische Ordner
Seite@RestController
@CrossOrigin("*")
public class FilmController {
@Autowired
private FilmRepository filmRepository;
@RequestMapping(value = "/films", method = RequestMethod.POST)
public void saveFilm(@RequestParam("file") MultipartFile file) throws Exception {
File convFile = new File("src/main/resources/static/upload/"+file.getOriginalFilename());
convFile.createNewFile();
FileOutputStream fos = new FileOutputStream(convFile);
Blob blob = new SerialBlob(file.getBytes());
fos.write(file.getBytes());
fos.close();
System.out.println(convFile.getName());
filmRepository.save(new Film(convFile.getName(), blob));
}
@RequestMapping(value = "/films", method = RequestMethod.GET)
public List<Film> getAllFilms() {
return filmRepository.findAll();
}
}
Hier ist, wie ich das hochgeladene Bild „image.jpg“
<img src="http://localhost:8080/upload/image.jpg" />
Aber zugegriffen wird, wenn ich mvn Paket lief und ich meine Anwendung jar-Datei starten, kann ich nicht die hochgeladen zugreifen Bild auf der Client-Seite, ich bekomme 404 nicht gefunden.
Kann jemand erklären, wie Spring speichern und auf statische Ressourcen verweisen und wie kann ich dieses Problem lösen.
Sie können nicht ... Sie können nicht auf einen Pfad im Classpath hochladen, der sich effektiv im Jar befindet. –
Wo kann ich meine Dateien hochladen und auf die Clientseite zugreifen? – jemlifathi
Verwenden Sie einen Pfad im Dateisystem oder einen geeigneten Datenspeicher. –