Dropwizard 文件上传

2024-04-28

我必须从我的网站上传一个文件,但 cnt 似乎可以使其与放置向导一起使用。

这是我网站上的表格。

   <form enctype="multipart/form-data" method="POST" action="UploadFile">
     <input type="file" id="fileUpload" name="file"/>
     <input type="hidden" id="fileName" name="fileName"/>
     <input type="submit" value="Upload"/>
   </form>

我将如何在后端接收文件?

解决方案是

    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
        @FormDataParam("file") final InputStream fileInputStream,
        @FormDataParam("file") final FormDataContentDisposition contentDispositionHeader) {


    String filePath = uploadLocation + newFileName;
    saveFile(fileInputStream, filePath);
    String output = "File can be downloaded from the following location : " + filePath;

    return Response.status(200).entity(output).build();

}

private void saveFile(InputStream uploadedInputStream,
        String serverLocation) {
    try {
            OutputStream outputStream = new FileOutputStream(new      File(serverLocation));
            int read = 0;
            byte[] bytes = new byte[1024];

            outputStream = new FileOutputStream(new File(serverLocation));
            while ((read = uploadedInputStream.read(bytes)) != -1) {
                outputStream.write(bytes, 0, read);
            }
            outputStream.flush();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }   

您可以使用 nio 以更少的行数将内容保存到服务器

java.nio.file.Path outputPath = FileSystems.getDefault().getPath(<upload-folder-on-server>, fileName);
Files.copy(fileInputStream, outputPath);

另外,如果您使用 0.7.0-rc2,您的 pom.xml 中将需要此依赖项

<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18</version>
</dependency>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dropwizard 文件上传 的相关文章

  • JDBI 如何动态创建 WHERE 子句同时防止 SQL 注入?

    我想动态过滤 JDBI 查询 参数列表通过 REST 从 UI 传递 例如 http localhost things foo bar baz taz http localhost things foo buz 它 笨拙地 构建为 Jers
  • 限制 dropwizard 管理页面

    如何对Dropwizard管理门户进行身份验证 以限制普通用户访问它 请帮忙 在您的配置中 您可以设置adminUsername and adminPassword under http像这样 http adminUsername user
  • 如何在 DropWizard 中维护用户会话?

    我正在寻找一个持久会话管理器 它将会话保存在可与 DropWizard 一起使用的文件系统 如 PHP 上 我看到有一个Environment getSessionHandler 但我没有看到任何相关文档 我可以自己写 但我希望能吃到一顿熟
  • Dropwizard HK2注射液

    我对使用 dropwizard 还很陌生 目前我正在尝试实现 HK2 依赖注入 这在资源内部工作得很好 但在资源外部却不起作用 这是我正在做的事情 Client client new JerseyClientBuilder environm
  • 如何使用自定义 Dropwizard 过滤器有选择地保护资源

    我正在使用 Dropwizard 0 9 2 我想创建一个不需要 GET 身份验证而需要基本 POST 身份验证的资源 我努力了 Path protectedPing Produces MediaType TEXT PLAIN public
  • 使用 Dropwizard 0.7.0 实现长轮询服务器

    我正在尝试使用 Dropwizard 0 7 0 框架实现长轮询服务器 有人建议我使用码头集成 经过一番谷歌搜索后 我对 websockets jetty continuation cometd 之类的东西感到非常困惑 我的问题是 这些东西
  • Dropwizard 配置文件安全性

    配置文件 yml 用于使用 Dropwizard 0 9 2 最新版本 开发的 REST API api 所需的大部分凭据 例如数据库密码密钥等 都存储在配置文件中 我们已经根据参考文献中提到的项目实现了大部分内容 位于dropwizard
  • 如何使用 Dropwizard 测试 HMAC 身份验证?

    我刚刚开始使用 Dropwizard 0 4 0 我需要一些有关 HMAC 身份验证的帮助 有人有什么建议吗 先感谢您 目前 Dropwizard 不支持开箱即用的 HMAC 身份验证 因此您必须编写自己的身份验证器 HMAC 身份验证的典
  • 在 Jersey 1.18.1 请求过滤器中获取资源注释

    我正在实现一个用户授权模块 该模块将使用 新 注释应用于资源方法 为此 我创建了一个 Jersey 请求 过滤器 我需要在其中获取注释以允许 禁止资源操作 我正在使用 Dropwizard 0 7 1 和 Jersey 1 18 1 资源类
  • Dropwizard Response.status(Response.Status.NOT_FOUND).build() 返回 html

    如果确实缺少资源 我的 API 将返回以下内容 code 404 message HTTP 404 Not Found 当我使用代码通过我的资源返回 404 时Response status Response Status NOT FOUN
  • Jersey - 有没有办法用参数实例化每个请求资源?

    假设我有这样的课程 Path test public class TestResource private TestService testService public TestResource TestService testServic
  • 如何将自定义验证器与 dropwizard 一起使用?

    我有一个由其他人编写的 REST api 其中处理对特定 url 的请求的方法接受一堆从路径参数填充的参数 POST Path classid studentid details Consumes MediaType MULTIPART F
  • Jersey 2.x 自定义注入注释与属性

    我正在从 DropWizard 0 7 1 迁移到 0 8 1 这包括从 Jersey 1 x 迁移到 2 x 在我的 使用 Jersey 1 18 1 的实现 我有一个MyProvider 为了简单起见 更改了所有类名 实现Injecta
  • 使用 Dropwizard 提供静态资源

    Dropwizard 版本 1 3 0 rc6 大多数有关提供静态内容的文档都是针对旧版本的 甚至是更新的文档掉落向导手册 http www dropwizard io 1 3 1 docs manual core html不完全适合我 我
  • 如何从 dropwizard 应用程序创建战争?

    我正在尝试从 dropwizard 应用程序构建一场战争并进行部署 我可以成功运行该 jar 并访问我的其余服务 有人通过 dropwizard 应用程序创建并成功部署了一场战争吗 正确的做法是什么 Dropwizard 设计为作为 JAR
  • Dropwizard ExceptionMapper:验证原始标头字段

    有谁知道如何从请求中获取原始标头字段 我想验证客户端是否会收到 html 或只是纯 文本响应 我可以在异常映射器的 toResponse 方法中获取此字段吗 我像这篇文章中一样创建了异常映射器 http gary rowe com agil
  • Dropwizard 不会将自定义记录器记录到文件中

    我有一个 dropwizard 应用程序 我在其中将记录器附加程序配置为文件 如下所示 logging level INFO loggers mylogger INFO com path to class INFO appenders ty
  • 将jetty servlet添加到dropwizard中

    我需要将 jetty servlet 添加到使用 dropwizard 框架实现的现有服务器中 更具体 我有一个静态资源 Foo 通过 CRUD 操作映射到 url localhost 8080 foo 现在我需要一个映射到 url loc
  • @Context 注入在 Je​​rsey ContainerRequestFilter 中不起作用(Dropwizard)

    Context 注入适用于类 但无法使其适用于对象 ContainerRequestFilter 中的 httpServletRequest 产生空指针 Dropwizard 版本 1 1 0 容器请求过滤器 public class Ap
  • 传递自定义类型查询参数

    如何接受自定义类型查询参数 public String detail QueryParam request final MYRequest request 上面的行在启动服务器时出现错误 jersey server model ModelV

随机推荐