gpt4 book ai didi

java - 将 URL 指定的文档上传到字节数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:24 24 4
gpt4 key购买 nike

我有一个 html 表单,其中一个字段将采用指向(可能是二进制)文件(例如图像)的 url。 url可以指向服务器无法访问的本地资源,因此需要由客户端获取。 (这个抓取是另一点,我的问题是关于编写servlet。)

我想将此获取的结果上传到 Java servlet(通过 http POST 请求)并将其放入字节数组中。由于这是一个低级表示,我不确定是否应该使用 Apache 的 FileUpload。

另一点让我困惑的是,FileUpload 中的 FileItem 只提供了一个 OutputStream,而我原本期望使用 InputStream 来读取文件。

学习 FileUpload 后我陷入困境。我可能对网络应用程序开发的基础知识还不够。

我应该如何构建这个功能?请注意,我是 Java 开发这个领域的新手(尽管我的一般(即 SE)Java 技能非常好)。

最佳答案

继续使用 FileUpload,不要自己重新发明它。这会浪费时间。

我不知道为什么你认为FileItem只提供一个OutputStream,还有一个getInputStream()方法。只需将其写入 ByteArrayOutputStream .

InputStream input = fileItem.getInputStream();
ByteArrayOutputStream output = new ByteArrayOutputStream();
IOUtils.copy(input, output);
byte[] bytes = output.toByteArray();
// ...

您只需记住,如果有很多用户同时上传文件,这可能会导致服务器的内存使用量激增。字节数组的每个字节都会占用 JVM 内存的一个字节。因此,假设您有 100 个并发用户,每个用户上传一个 10MB 的文件,那么就会浪费 1GB 的服务器内存。

关于java - 将 URL 指定的文档上传到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7819791/

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