我在使用 apache 基准发布文件时遇到了一个奇怪的问题。
我需要强调一个处理文件上传的功能。所以,我搜索了一下,发现了一篇描述如何正确构建帖子文件的帖子。它的内容看起来像:
--1234567
Content-Disposition: form-data; name="user_id"
3
--1234567
Content-Disposition: form-data; name="file"; filename="cf_login.png"
Content-Type: image/png
[base64 encoded file content]
--1234567--
ab线是这样的:
$ ab -c 1 -n 5 -v 4 -T 'multipart/form-data; boundary=1234567' -p post_file.txt http://localhost:3000/files
当 ab 发出请求时,生成的标头如下:
INFO: POST header ==
---
POST /files.json/ HTTP/1.0
Content-length: 229
Content-type: multipart/form-data; boundary=simpleboundary
Host: localhost:3000
User-Agent: ApacheBench/2.3
Accept: */*
---
LOG: header received:
HTTP/1.1 500 Internal Server Error
Content-Type: text/html; charset=utf-8
Content-Length: 13265
X-Request-Id: 9ad57d19cd71886a1bb817d00fac651b
X-Runtime: 0.015504
Server: WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20)
Date: Tue, 25 Sep 2012 13:54:29 GMT
Connection: close
预期的回报是提高 params.inspect,让我看看数据是否到达另一端。如果我删除边界,我可以看到参数中收到的数据,但这不是我想要的。我想上传文件。
有人有小费吗?我会很感激的。