如何将MultipartFormDataInput转换为File对象

时间:2019-05-16 20:17:52

标签: java spring pdf file-upload resteasy

我正在尝试使用Spring服务器来接受用户从HTML表单上载的PDF文件,对其进行一些zxing处理,然后返回JSON文件。

当前,我正在运行此命令以将文件数据发送到该方法,但是,我的所有处理都是针对File对象完成的。

  @POST
  @Path("/decode")
  @Consumes(MediaType.MULTIPART_FORM_DATA)
  @Produces(MediaType.APPLICATION_JSON)
  @ResponseBody
  String decodeBarcode(@RequestParam("file") MultipartFormDataInput multipartFormDataInput) throws IOException;

处理代码

 //In the case the chosen file is a PDF
      String rawText = "";
      PDDocument doc = PDDocument.load(file);
      List pages = doc.getDocumentCatalog().getAllPages();
      Iterator iter = pages.iterator();
      while (iter.hasNext()) {
        PDPage page = (PDPage) iter.next();
        Map pageImages = page.getResources().getXObjects();
        if (pageImages != null) {
          Iterator imageIter = pageImages.keySet().iterator();
          File toScan = new File("test.png");

          while (imageIter.hasNext()) {
            String key = (String) imageIter.next();
            PDXObjectImage barcode = (PDXObjectImage) pageImages.get(key);
            barcode.write2file(toScan);

            BinaryBitmap bitmap = getBinaryBitmap(toScan);
            try {
              Result result = new PDF417Reader().decode(bitmap);
              if (result.getText().substring(result.getText().length() - 3).equals("EOD")) {
                rawText += result.getText();
              } else {
                rawText = result.getText() + rawText;
              }
            } catch (Exception e) {
            }
          }
          toScan.delete();

我希望能够对输入的pdf进行此处理,这可能吗?

0 个答案:

没有答案