Contenido de error
com.sun.jersey.api.client.UniformInterfaceException: PUT http: //.jpg devolvió un estado de respuesta de 400 Bad Request
Debido a que el archivo se carga en los servidores, el nombre del archivo contiene el nombre chino, por lo que se informa y resuelve un error:
Deje que el servidor de archivos admita la codificación UTF-8 o cambie el nombre del archivo a inglés. (Lo mejor es nombrarlo según el tiempo más un número aleatorio o UUID)
Versión simple de jsersey upload
@RequestMapping ("/ fileupload3") public String fileuoload3 (carga de archivos múltiples) genera una excepción { System.out.println ("Carga de archivos entre servidores ..."); // Definir la ruta del servidor de archivos de carga // String path = "http: // localhost: 9090 / uploads /"; String path = "http: // localhost: 9082 / fileuploadserver_war / uploads /"; // Descripción subir elemento del archivo // Obtener el nombre del archivo cargado String filename = upload.getOriginalFilename (); // Establece el nombre del archivo en un valor único, uuid String uuid = UUID.randomUUID (). ToString (). Replace ("-", ""); nombre de archivo = uuid + "_" + nombre de archivo; // Crear objeto de cliente Cliente cliente = Cliente.create (); // Conéctate al servidor de imágenes WebResource webResource = client.resource (ruta + nombre de archivo); // subir archivo webResource.put (upload.getBytes ()); devolver "éxito"; }
Código HTML frontal
<h3> Carga de archivos entre servidores </ h3> <form action = "/ user / fileupload3" method = "post" enctype = "multipart / form-data"> 选择 文件 : <input type = "file" name = "upload" /> <br/> <input type = "submit" value = "上传" /> </form>
Dirección del paquete referenciado
<! - 文件 上传-> < dependencia > < groupId > commons-fileupload </ groupId > < artifactId > commons-fileupload </ artifactId > < versión > 1.3.1 </ version > </ dependency > < dependency > < groupId > commons-io </ groupId > < artifactId > commons-io </ artifactId > <versión > 2.2 </ versión > </ dependencia > <! - 跨 服务器 文件 上传 的 插件-> < dependencia > < groupId > com.sun.jersey </ groupId > < artifactId > jersey-core </ artifactId > < versión > 1.18.1 </ versión > </ dependencia > < dependencia > < groupId > com.sun.jersey </ groupId > < artifactId > jersey-client </ artifactId > <versión > 1.18.1 </ versión > </ dependencia >
El archivo de carga de Jersey Tomcat incorporado de Idea reportó un error 403, si leo otro artículo "El archivo cargado de Jersey Tomcat Jersey informó un error 403 "
Fuente: dillqq , además, si alguien quiere consultar la escritura de carga de jersey para ver JustCode