gpt4 book ai didi

java - 使用 REST 或 Web 服务上传/下载文件

转载 作者:行者123 更新时间:2023-12-03 22:52:48 28 4
gpt4 key购买 nike

是否可以使用 REST 或任何其他 Web 服务上传/下载文件并发送 HTML 代码?

这必须可以使用:PHP、Java 或 ASP。

最佳答案

我认为this会有帮助。至少在谈到 Java 时是这样。其实,看看整个tutorial

这是一个如何使用 Spring 来实现的示例:

将 commons-io 和 commons-fileupload 依赖项添加到您的 pom.xml。在您的 servlet 上下文 xml 文件中配置多部分解析器:

<beans:bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="maxUploadSize" value="10000000" />
</beans:bean>

这将是您用于上传文件的 JSP(即 fileUpload.jsp):

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<form:form method="post" commandName="upload" action="uploadNewFile"
enctype="multipart/form-data">
<table class="table table-bordered">
<tbody>
<tr>
<td><label>File</label></td>
<td><input class="form-control" name="file" type="file"
id="file" /></td>
</tr>
<tr>
<td colspan="2"><input class="btn btn-primary" type="submit"
value="Upload" /></td>
</tr>
</tbody>
</table>
</form:form>
</body>
</html>

这是 Controller :

import java.io.IOException;

import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UploadController {

// Show page for upload
@RequestMapping(value = "/fileUpload", method = RequestMethod.GET)
public ModelAndView showUploadFilePage() {
return new ModelAndView("fileUpload", "upload", null);
}

// Get multipart file and save it
@RequestMapping(value = "/uploadNewFile", method = RequestMethod.POST)
public String save(@RequestParam("file") MultipartFile file) {
// Save it to i.e. database
// dao.save(file);
return "fileUpload";
}

// Downloads file. I.e. JPG image
@RequestMapping(value = "/download/{id}", produces = MediaType.IMAGE_JPEG_VALUE)
public @ResponseBody HttpEntity<byte[]> getFile(
@PathVariable("id") Integer id) throws IOException {

byte[] file= dao.get(id).getImage();
HttpHeaders header = new HttpHeaders();
header.set("Content-Disposition", "attachment; filename=Image");
header.setContentLength(file.length);

return new HttpEntity<byte[]>(file, header);
}
}

关于java - 使用 REST 或 Web 服务上传/下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224275/

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