问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用POST上传的二进制数据

发布网友 发布时间:2022-04-25 19:33

我来回答

2个回答

热心网友 时间:2022-06-16 18:32

这个不就是文件上传嘛
给你个servlet3.0的文件上传
页面表单
<form action="sf" enctype="multipart/form-data" method="get">
username: <input type="text" name="username" /><br>
file: <input type="file" name="filename" /><br>
<input type="submit" value="Submit" />
</form>

servlet头注解配置

@WebServlet("/sf")
@MultipartConfig
public class SingleFileUpload extends HttpServlet {

doPost 方法
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Enumeration<String> heads = request.getHeaderNames();
System.out.println("request.getHeaderNames()");
while (heads.hasMoreElements()) {
String header = heads.nextElement();
System.out.println(header + "=" + request.getHeader(header));
}
Part part = request.getPart("filename");
Collection<String> headerNames = part.getHeaderNames();
System.out.println("part.getHeaderNames()");
for (String header : headerNames) {
System.out.println(header + "=" + part.getHeader(header));
}
InputStream is = part.getInputStream();
String filename = new String(getFilename(part).getBytes(), "UTF-8");
File file = new File("D:\\fileupload");
if (!file.exists() || !file.isDirectory()) {
file.mkdir();
}

FileOutputStream fos = new FileOutputStream(new File(file + File.separator + filename));
byte[] buf = new byte[1024];
while (is.read(buf) != -1) {
fos.write(buf);
}
fos.flush();
fos.close();
is.close();
PrintWriter out = response.getWriter();
out.println("file upload success");
}

public String getFilename(Part part) {
String contentDispositionHeader = part.getHeader("content-disposition");
String[] elements = contentDispositionHeader.split(";");
for (String element : elements) {
if (element.trim().startsWith("filename")) {
return element.substring(element.indexOf('=') + 1).trim().replace("\"", "");
}
}
return null;
}

热心网友 时间:2022-06-16 18:32

可使用android自带的httpclient框架实现向服务器发起get或post请求,以下为完整的示例代码:
1. GET 方式传递参数
//先将参数放入List,再对参数进行URL编码
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "数据")); //增加参数1
params.add(new BasicNameValuePair("param2", "value2"));//增加参数2
String param = URLEncodedUtils.format(params, "UTF-8");//对参数编码
String baseUrl = "服务器接口完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//将URL与参数拼接
HttpClient httpClient = new DefaultHttpClient();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... POST上传最大支持多大 jquery的post方法上传文件问题。 谁可以告诉我jQuery用POST上传文件是怎么发送的?为什么我发送过去收... http方式上传数据Post时,对数据有什么格式要求吗 为什么进行文件上传时只能使用post而不能用get? 如何用POST方法上传文件 为什么我微信共享位置别人加进来 看得见我和他自己 而我看不见别人只能看见自己? 为什么微信共享位置只有一个人 ie浏览器下载 IE浏览器 一打开就显示文件下载(index.htm) 只能用IE浏览器下载怎么办? 用IE浏览器下载的问题 微信已读信息如果向左化设置成未读信息我们怎么知道信息是否已经点开看过了? 怎么铃声静音? QQ地理位置设置显示&quot;共享地理位置&quot;,为什么对方还是能看见我所在的城市呢?怎样对方才能看不见? 为什么我的吃鸡一开始就显示这个上不去游戏 为什么我的吃鸡跟你们的不一样 为什么我吃鸡单排对面会有两个人? 为什么我吃鸡队友都很菜? 为什么我的吃鸡fps只有十几是哪里不行 Android中使用HttpPost实现数据与文件同时上传的功能 js post怎样提交文件 谁用过wget向服务器用post上传文件 php上传文件为什么一定要用post Java客户端通过Http发送POST请求上传文件 HttpHelper上传文件同时还要POST其他参数,怎么解决 post上传的文件如何去除消息头 同城怎么送东西?多久可以送到,贵不贵? 什么叫同城运输 同城快递怎么收费?有价格美丽点的吗? 同城配送怎么送啊? 同城快递是怎么派送的? 货运调车平台有哪些 同城内邮寄行李要多少钱啊,两床被子,一个行李箱,用快递吗,还是物流,谁能告诉我下, 货拉拉同城货运怎么样? win7文件共享的查找位置为什么只有自己的计算机 同城货运平台的收费标准是什么? 同城快递运费一般多少钱? 同城快递都是怎么收费的?按距离还是重量和大小? 同城快递便宜的公司有哪些?要花多少钱呢?