Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Controller
- public class UploadFileController {
- UploadFileService service;
- public UploadFileController(UploadFileService service) {
- this.service = service;
- }
- public static String uploadDirectory = System.getProperty("user.dir")+"/uploads";
- @RequestMapping("/")
- public String UploadPage(Model model) {
- return "uploadview";
- }
- @RequestMapping("/upload")
- public String upload(Model model,@RequestParam("files") MultipartFile[] files) {
- StringBuilder fileNames = new StringBuilder();
- for (MultipartFile file : files) {
- Path fileNameAndPath = Paths.get(uploadDirectory, file.getName());
- fileNames.append(file.getName()+" ");
- try {
- service.saveFile(fileNameAndPath, file.getBytes());
- //Files.write(fileNameAndPath, file.getBytes());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- model.addAttribute("msg", "Successfully uploaded files "+fileNames.toString());
- return "uploadstatusview";
- }
- }
- @Service
- public class UploadFileService {
- MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
- MongoClient mongoClient = new MongoClient(uri);
- MongoDatabase database = mongoClient.getDatabase("test");
- MongoCollection collection = database.getCollection("schedule_uploadfile");
- UploadFileRepository uploadFileRepository;
- public UploadFileService(UploadFileRepository uploadFileRepository) {
- this.uploadFileRepository = uploadFileRepository;
- }
- public void saveFile(Path fileNameAndPath, byte[] bytes) throws IOException {
- Reader reader = Files.newBufferedReader(Paths.get("C:\\Users\\Pepe\\Desktop\\kopiagrafiku.csv")); //dopóki tego nie zmienie
- //blad nie występuje i zapisuje do bazy
- CSVParser csvParser = new CSVParser(reader, CSVFormat.newFormat(';'));
- for (CSVRecord record : csvParser) {
- Document grafik = new Document("date", "23.09.2019");
- grafik.append("rodzaj_rozkladu", "powszedni");
- grafik.append("grafik_dzienny", new Document()
- .append("workNumber", record.get(0))
- .append("busLine", record.get(1))
- .append("startTime", record.get(2))
- .append("endTime", record.get(3)));
- if (record.get(0).isEmpty())
- continue;
- collection.insertOne(grafik);
- }
- }
- }
- widok
- <body>
- <form action="/upload" method="post" enctype="multipart/form-data">
- <input type="file" name="files" multiple>
- <input type="date" id="date" name="date">
- <input type="submit" value="Zapisz Grafik">
- </form>
- </body>
Add Comment
Please, Sign In to add comment