gpt4 book ai didi

Java SE HTML POST 文件名问题

转载 作者:行者123 更新时间:2023-11-30 07:24:51 25 4
gpt4 key购买 nike

我目前正在编写一个使用 nanoHTTPD 将文件上传到服务器的程序。目前我可以使用预先指定的名称成功上传文件。但是,我想保留正在上传的文件的原始名称。

现在如何上传:

Original filename: foo.jpg
Uploaded filename: file123.whatever

我希望它如何上传:

Original file name: foo.jpg
Uploaded filename: foo.jpg

这是正在使用的 HTML:

  <FORM ENCTYPE="multipart/form-data" ACTION="/uploaded.html" METHOD=POST>
Upload a file: <INPUT NAME="userfile1" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>

这是供引用的 Vanilla nanoHTTPD 代码:http://pastebin.com/pMNS3VKf

注意:我更愿意使用 Java SE 而避免使用 Java EE。

欢迎任何建议,谢谢。

编辑:简而言之,我需要学习的就是从 HTML POST 中获取文件名。

最佳答案

我不确定您的 NanoHTTPD 是否与我的相同,但对于我的 NanoHTTPD,您可以通过查看 parms Parameters 对象中与从 files Parameters 对象中检索文件相同的 key 来检索原始文件名。

Enumeration<Object> keys = files.keys()
while (keys.hasMoreElements())
{
String key = keys.nextElement().toString();
String origFileName = parms.getProperty(key);
String fsFileName = files.getProperty(key);
this.renameFile(fsFileName, origFileName);
}

一旦您检索到文件名,您就可以使用您想要的任何方法重命名该文件。 (通过适当的检查。如果您完全信任他们的原始文件名,这可能是一个巨大的安全漏洞。)

关于Java SE HTML POST 文件名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235194/

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