如何获取上传的文件名?

雷卡达

我正在尝试使用Jersey进行上传。一切正常。但是我无法上传文件名。我认为是图书馆问题。

这是我的pom.xml的依赖项

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.bundles</groupId>
        <artifactId>jaxrs-ri</artifactId>
        <version>2.21</version>
    </dependency>
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.3</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>2.17</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.18.1</version>
    </dependency>
</dependencies>

我的UpploadFileService

@Path("/file")
public class UploadFileService {

    @POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
            @FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file1") FormDataContentDisposition fileDetail) {
        ... 
    }
}

如果我更改@FormDataParam("file1")@FormDataParam("file")POST,请求将返回Bad Request但是没有它,它就可以很好地工作。

如何获取文件名?为何@FormDataParam("file")使服务返回Bad Request?

更新

我的HTML上传

<html>
<body>
<h1>File Upload with Jersey</h1>

<form action="http://localhost:8080/Project/api/file/upload" method="post" enctype="multipart/form-data">

  <p>
    Select a file : <input type="file" name="file" size="45" />
  </p>

  <input type="submit" value="Upload It" />
</form>

</body>
</html>

应用

@ApplicationPath("/api")
public class Application extends javax.ws.rs.core.Application {
    public Set<Class<?>> getClasses() {
        final Set<Class<?>> resources = new HashSet<>();
        resources.add(UploadFileService.class);
        resources.add(MultiPartFeature.class);
        return resources;
    }
}
奥卡(Omkar Puttagunta)

您可以使用以下方式获取上载的文件名: String fileName = fileDetail.getFileName();

Jersey 1使用com.sun包并Jersey 2使用org.glassfish包。切勿混合。更换您的

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-core</artifactId> 
    <version>1.18.1</version> 
</dependency> 

有了这个:

<dependency> 
    <groupId>org.glassfish.jersey.core</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>2.22.1</version> 
</dependency> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Django中获取上传的文件名

来自分类Dev

如何使用 glob() 函数获取上传的文件名?

来自分类Dev

如何在jQuery中使用上传字段“名称”属性获取上传文件名

来自分类Dev

如何在jQuery中使用上传字段“名称”属性获取上传文件名

来自分类Dev

如何在循环中获取文件名加密文件上传codeigniter

来自分类Dev

如何以角度4获取上传文件的文件名,修改日期?

来自分类Dev

文件上传php,仅获取文件名

来自分类Dev

如果文件在jquery中无法上传,则获取文件名

来自分类Dev

从上传的多个文件中获取文件名

来自分类Dev

从HTTP POST文件上传获取文件名

来自分类Dev

从 React 前端的文件上传获取 Rails 后端的文件名

来自分类Dev

如何获取将图像上传到s3存储桶的文件名?

来自分类Dev

开始上传前如何获取所有图像文件名?

来自分类Dev

Angular ngx-img-cropper:如何获取上传图像的文件名?

来自分类Dev

上传之前获取图像的文件名-JQuery

来自分类Dev

RadGrid附件列在上传之前获取文件名

来自分类Dev

使用CodeIgniter上传库时未获取文件名

来自分类Dev

上传之前获取图像的文件名-JQuery

来自分类Dev

如何指定文件名和上传文件

来自分类Dev

如何从Javascript FileReader获取文件名?

来自分类Dev

@MultipartForm如何获取原始文件名?

来自分类Dev

如何获取最终文件名

来自分类Dev

如何从此ActionDispatch获取文件名

来自分类Dev

如何从ImageView(ANDROID)获取文件名

来自分类Dev

如何从ImageView(ANDROID)获取文件名

来自分类Dev

如何从此ActionDispatch获取文件名

来自分类Dev

如何获取`。文件名可靠吗?

来自分类Dev

jQuery如何获取文件名

来自分类Dev

如何从hib获取文件名

Related 相关文章

热门标签

归档