Skip to content
Snippets Groups Projects
Commit f4bae7d1 authored by Fabio Vandewaeter's avatar Fabio Vandewaeter
Browse files

creation fichier ou dossier

parent c64eb3a7
No related branches found
No related tags found
No related merge requests found
......@@ -174,22 +174,73 @@ public class FTPResource {
}
}
/*
* @POST
*
* @Path("/{alias}/{path: .+}")
* public Response createDirectory(
*
* @PathParam("alias") String alias,
*
* @PathParam("path") String path,
*
* @HeaderParam("X-FTP-User") String user,
*
* @HeaderParam("X-FTP-Pass") String pass) throws SocketException, IOException {
*
* System.out.println("createFirectory()");
* FTPClient ftp = new FTPClient();
* try {
* FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias);
* ftp.connect(config.getHost(), config.getPort());
* ftp.login(user, pass);
* return ftp.makeDirectory(path) ? Response.created(URI.create(path)).build()
* : Response.status(Response.Status.BAD_REQUEST).build();
* } finally {
* try {
* if (ftp.isConnected()) {
* ftp.logout();
* ftp.disconnect();
* }
* } catch (IOException e) {
* e.printStackTrace();
* }
* }
* }
*/
@POST
@Path("/{alias}/{path: .+}")
public Response createDirectory(
@Consumes({ MediaType.APPLICATION_OCTET_STREAM, MediaType.TEXT_PLAIN }) // Accepter les fichiers
public Response createResource(
@PathParam("alias") String alias,
@PathParam("path") String path,
@HeaderParam("X-FTP-User") String user,
@HeaderParam("X-FTP-Pass") String pass) throws SocketException, IOException {
@HeaderParam("X-FTP-Pass") String pass,
InputStream inputStream) { // Contenu optionnel
System.out.println("createFirectory()");
FTPClient ftp = new FTPClient();
try {
FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias);
ftp.connect(config.getHost(), config.getPort());
ftp.login(user, pass);
return ftp.makeDirectory(path) ? Response.created(URI.create(path)).build()
: Response.status(Response.Status.BAD_REQUEST).build();
// Si le flux est vide (0 octet), créer un répertoire
if (inputStream.available() == 0) {
boolean dirCreated = ftp.makeDirectory(path);
return dirCreated
? Response.created(URI.create(path)).build()
: Response.status(400).entity("Erreur création répertoire").build();
}
// Sinon, créer un fichier
else {
boolean fileCreated = ftp.storeFile(path, inputStream);
return fileCreated
? Response.created(URI.create(path)).build()
: Response.status(400).entity("Erreur création fichier").build();
}
} catch (IOException e) {
return Response.serverError().entity("Erreur FTP: " + e.getMessage()).build();
} finally {
try {
if (ftp.isConnected()) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment