Git Product home page Git Product logo

springboot-file-upload's Introduction

SpringBoot File Upload

Swagger Documentation

file upload success

Upload files with springboot using opencsv

If you want to use this generic file upload without the anotation @CsvBindByName, you can replace the GenericCsvParseToEntity methods for:

public Set<Entity> parseCsvToEntity(MultipartFile file, Class<Entity> entityClass) throws IOException,  
CsvValidationException {  
    Set<Entity> entities = new HashSet<>();  
  
	    try (CSVReader reader = new CSVReader(new InputStreamReader(file.getInputStream()))) {  
		    String[] header = reader.readNext();  
		    String[] line;  
		      
		    while ((line = reader.readNext()) != null) {  
		    Entity entity = buildEntity(header, line, entityClass);  
		    entities.add(entity);  
	    }  
    }    
    return entities;  
}  
  
private Entity buildEntity(String[] header, String[] line, Class<Entity> entityClass) {  
    try {  
	    Entity entity = entityClass.getDeclaredConstructor().newInstance();  
	      
	    for (int i = 0; i < header.length; i++) {  
	    String columnName = header[i];  
	    String cellValue = line[i];  
	      
	    Field field = entityClass.getDeclaredField(columnName);  
	    field.setAccessible(true);  
	      
	    if (field.getType() == String.class) {  
		    field.set(entity, cellValue);  
	    } else if (field.getType() == int.class) {  
		    field.set(entity, Integer.parseInt(cellValue));  
	    }    
	    field.setAccessible(false);  
    }  
    return entity;  
    } catch (Exception e) {  
	    throw new RuntimeException("Error al construir entidad", e);  
    }  
 }

springboot-file-upload's People

Contributors

andresp08 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.