Red de conocimiento informático - Conocimiento informático - ¿Cómo llamar a la función de carga?

¿Cómo llamar a la función de carga?

la clase pública UploadAction extiende ActionSupport {

título de cadena privada;

carga de archivo privado;

tipo de contenido de carga de cadena privada;

nombre de archivo de carga de cadena privada;

private StringallowTypes;

//Aceptar propiedades de inyección de dependencia

private String savePath;

//Aceptar métodos de inyección de dependencia

private String savePath;

//Aceptar métodos de inyección de dependencia

p>

public void setSavePath(String value) {

this.savePath = value

}

private String getSavePath() lanza una excepción {

return ServletActionContext.getServletContext().getRealPath(savePath);

}

public void setTitle(String title) {

this. título = título;

}

public void setUpload(Carga de archivo) {

este.título);

}

Archivo público getUpload() {

return (this.upload);

}

Cadena pública getUploadContentType () {

return (this.uploadContentType);

}

cadena pública getUploadFileName() {

return (this.out.println("== == ======" getUpload());

// Determinar si se permite la carga

String filterResult = filterType( this.getAllowTypes().split("," ) );

if (filterResult ! = null) {

ActionContext.getContext().put("typeError", "El tipo de archivo que has subido es incorrecto");

ActionContext.getContext().put("typeError", "El tipo de archivo que subiste es incorrecto");

p>

Devolver filterResult;

}

// Utilice la dirección de guardado del archivo del servidor y el nombre del archivo original para crear una secuencia de salida para el archivo cargado para crear una secuencia de salida del archivo cargado

FileOutputStream fos = new FileOutputStream(getSavePath( ) "\"

getUploadFileName());

FileInputStream fis = new FileInputStream(getUpload());

byte[] buffer = nuevo byte

[1024];

int len ​​​​= 0;

mientras ((len = fis.read(buffer)) gt; 0) {

fos .write (buffer, 0, len);

}

return SUCCESS;

}

tipo de filtro de cadena pública (String[] tipos) {

String fileType = this.getUploadContentType();

for (Tipo de cadena: tipos) {

if (type.equals(fileType)) {

devuelve nulo;

}

}

devuelve ENTRADA;

}

public String getAllowTypes() {

return enableTypes;

}

public void setAllowTypes( String enableTypes) {

this. enableTypes= enableTypes;

}

}

Los atributos dentro de la acción deben corresponder al archivo de la página jsp. Los atributos del formulario deben cambiarse. a multipart/form-data, que debe tener cuidado, los novatos suelen cometer errores similares