jax-rs detect aborting upload

Diskutiere jax-rs detect aborting upload im Web Tier Forum; Hallo zusammen Ich habe folgenden Wunsch: In der Rest Schnittstelle sollte ich darauf reagieren können, wenn der Client den Upload Prozess...

  1. php_gutu
    php_gutu Neues Mitglied
    Hallo zusammen

    Ich habe folgenden Wunsch: In der Rest Schnittstelle sollte ich darauf reagieren können, wenn der Client den Upload Prozess abbricht, sei das selber von ihm veranlasst, oder weil seine Internetverbindung unterbrochen wurde. Wie könnte ich das umsetzen? Ist so etwas möglich? In z.B. PHP gibt es z.B. die Funktion int connection_aborted(void). Ich mag aber PHP nicht besonders gerne :)

    Hat jemand einen Tipp.
    Anbei der Code (ich halte mich gerne am Java EE Standard und nutze keine spezifische Server Implementierungen für den File upload)

    Code (Java):
    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    @Path("{id}")
    public Response upload(@PathParam("id") String id, @Context final HttpServletRequest request) {
      // check auth.
      if (this.jwtUserData == null) {
        return Response.status(401).build();
      }

      // save file
      File pdfUploadDestination = new File("/path/to/upload/" + id + "/fileName.pdf");
      try (final BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream(), 8192)) {
        try (BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(pdfUploadDestination))) {
          byte[] buffer = new byte[8192];
          int length;
          while ((length = inputStream.read(buffer)) != -1) {
            stream.write(buffer, 0, length);
          }
           // close stream manually, why i will rename file after pdf validation.
          stream.close();
        }

        // validate file
        PdfValidator.validate(pdfUploadDestination);
        // ..rename file

        // response: upload was successfull.
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "successfull upload");
        return Response.status(200).entity(jsonObject.toString()).build();
      } catch (FileNotFoundException e) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("error", "the uploaded file doesn't exist.");
        return Response.status(400).entity(jsonObject.toString()).build();
      } catch (IOException e) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("error", "io exception");
        return Response.status(400).entity(jsonObject.toString()).build();
      }
    }
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. VfL_Freak
    VfL_Freak Bekanntes Mitglied
    Moin,
    na, das ist aber wohl nix für "Allgemeine Java-Themen" .... :rolleyes:
    VG Klaus
     
  4. Flown
    Flown Administrator Mitarbeiter
    Du kannst auf deinen InputStream (eigtl. ServletInputStream) einen ReadListener dranhängen und mal überprüfen, ob auf onError etwas kommt.
     
Die Seite wird geladen...

jax-rs detect aborting upload - Ähnliche Themen

Jersey (JAX-RS) - Background Thread + Objektzugriff
Jersey (JAX-RS) - Background Thread + Objektzugriff im Forum Application Tier
Jersey (JAX-RS) - ServletContextListener
Jersey (JAX-RS) - ServletContextListener im Forum Application Tier
Token-Security unter JBoss 7 / Jax-RS
Token-Security unter JBoss 7 / Jax-RS im Forum SOA
JAX-RS + web.xml
JAX-RS + web.xml im Forum Allgemeine Java-Themen
JAX-RS Klasse aus anderen Projekt einbinden
JAX-RS Klasse aus anderen Projekt einbinden im Forum Deployment
Thema: jax-rs detect aborting upload