gpt4 book ai didi

java - 使用 Struts2 获取实际文件类型 :file control

转载 作者:行者123 更新时间:2023-12-02 08:03:00 25 4
gpt4 key购买 nike

我正在使用 Struts2 文件控件 s:file。

JSP代码

<s:file name="user.batchFile" />

Action 类代码

new MimetypesFileTypeMap().getContentType(getUser().getBatchFile());

它返回 application/octet-stream。

我正在上传 CSV 文件。我可以通过他们的方式获取文本/csv吗?我想验证该文件,该用户应该只上传实际文件。不是其他系统文件。或者也不要将其 ext 更改为 csv。

如何获取实际的文件类型?

最佳答案

我相信您需要定义以下变异方法

 private File file;
private String contentType;
private String filename;

public void setUpload(File file) {
this.file = file;
}

public void setUploadContentType(String contentType) {
this.contentType = contentType;
}

public void setUploadFileName(String filename) {
this.filename = filename;
}

哪里

setX(File file) :包含上传文件内容的文件setXContentType(String contentType) :上传文件的mime类型setXFileName(String fileName) :实际文件名

详情请阅读官方文档

file-upload

how-do-we-upload-files

此外,如果您想限制上传文件类型,您甚至可以使用声明式作为

<action name="doUpload" class="com.example.UploadAction">
<interceptor-ref name="basicStack"/>
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/jpeg,image/gif</param>
</interceptor-ref>
<result name="success">good_result.jsp</result>
</action>

但是,使用通过 setXContentType(String contentType) 方法传入 Action 类的信息以编程方式限制文件类型非常灵活

关于java - 使用 Struts2 获取实际文件类型 :file control,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com