0
嗨我正在尝试使用weed-fs java client将文件上传到weed-fs。我想我已按照说明of how to install weed成功安装了杂草。总之我如何将文件上传到weed-fs
- 用命令
$./weed master
- 然后用
$./weed volume -port=9444
我的应用程序服务器卷的服务器已经占用的端口8080 - 测试这一切都是通过上传命令`$中的文件夹启动主。/weed upload -dir =“any_dir_with_small_files”
至此,一切都很好。 在我的应用程序中,我尝试从浏览器发布multipart/form-data
,该浏览器被一个调用类来处理上传的servlet拦截。
public void upload(HttpServletRequest request) throws FileUploadException, IOException {
client = new WeedFSClient(MASTER_ADDRESS, MASTER_PORT);
if (ServletFileUpload.isMultipartContent(request)) {
FileItemIterator fileItemIterator = new ServletFileUpload().getItemIterator(request);
InputStream inputStream = null;
while (fileItemIterator.hasNext()) {
FileItemStream item = fileItemIterator.next();
if (!item.isFormField()) {
inputStream = item.openStream();
File file = new File(request.getServletContext().getRealPath("/")+"img/uploads/"+item.getName());
FileOutputStream fos = new FileOutputStream(file);
Streams.copy(inputStream, fos, true);
RequestResult result = client.upload(file);
if (result.isSuccess()) {
System.out.println("uploaded file with ID "+result.getFid());
}
}
}
}
}
当我运行此我得到了很多的调试信息
Info: DEBUG - Get connection for route {}->http://localhost:9444
Info: DEBUG - Connecting to localhost:9444
Info: DEBUG - CookieSpec selected: best-match
Info: DEBUG - Auth cache not set in the context
Info: DEBUG - Target auth state: UNCHALLENGED
Info: DEBUG - Proxy auth state: UNCHALLENGED
Info: DEBUG - Attempt 1 to execute request
Info: DEBUG - Sending request: POST /2,ace132597a HTTP/1.1
Info: DEBUG - >> "POST /2,ace132597a HTTP/1.1[\r][\n]"
Info: DEBUG - >> "Transfer-Encoding: chunked[\r][\n]"
Info: DEBUG - >> "Content-Type: multipart/form-data; boundary=TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3[\r][\n]"
Info: DEBUG - >> "Host: localhost:9444[\r][\n]"
Info: DEBUG - >> "Connection: Keep-Alive[\r][\n]"
Info: DEBUG - >> "User-Agent: Apache-HttpClient/4.2.5 (java 1.5)[\r][\n]"
Info: DEBUG - >> "[\r][\n]"
Info: DEBUG - >> POST /2,ace132597a HTTP/1.1
Info: DEBUG - >> Transfer-Encoding: chunked
Info: DEBUG - >> Content-Type: multipart/form-data; boundary=TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3
Info: DEBUG - >> Host: localhost:9444
Info: DEBUG - >> Connection: Keep-Alive
Info: DEBUG - >> User-Agent: Apache-HttpClient/4.2.5 (java 1.5)
Info: DEBUG - >> "1088[\r][\n]"
Info: DEBUG - >> "--TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3[\r][\n]"
Info: DEBUG - >> "Content-Disposition: form-data; name="fileBody"; filename="23.jpg"[\r][\n]"
Info: DEBUG - >> "Content-Type: text/plain[\r][\n]"
Info: DEBUG - >> "[\r][\n]"
Info: DEBUG - >> "[0xff][0xd8][0xff][0xe0][0x0][0x10]JFIF[0x0][0x1][0x1][0x1][0x0]H[0x0]H[0x0][0x0][0xff][0xe1][0x16][0xf2]Exif[0x0][0x0]II*[0x0][0x8][0x0][0x0][0x0][0x17][0x0][0x0][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x90][0x6][0x0][0x0][0x1][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x1a][0x4][0x0][0x0][0x2][0x1][0x3][0x0][0x3][0x0][0x0][0x0]"[0x1][0x0][0x0][0x6][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x2][0x0][0x0][0x0][0xf][0x1][0x2][0x0][0x6][0x0][0x0][0x0]([0x1][0x0][0x0][0x10][0x1][0x2][0x0][0x15][0x0][0x0][0x0].[0x1][0x0][0x0][0x12][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x1][0x0][0x0][0x0][0x15][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x3][0x0][0x0][0x0][0x1a][0x1][0x5][0x0][0x1][0x0][0x0][0x0]D[0x1][0x0][0x0][0x1a][0x1][0x5][0x0][0x1][0x0][0x0][0x0]L[0x1][0x0][0x0][0x1b][0x1][0x5]
此这样下去像X10我的屏幕不忘记我已经设置了非常小的字体大小的高度。 有人可以告诉我应该怎么做。如果你能指导我为一个java客户端正确指导weed fs,我也会很感激。提前致谢。
你是weed-fs分布式文件存储的作者吗? – qualebs 2017-05-28 15:22:07
“你是否是weed-fs分布式文件存储的作者”是的。 – chrislusf 2017-05-29 17:14:20
你好克里斯我一直在我的网站上使用杂草近一年了。你为什么改变你的用户名?找到你有点困难?我希望在github或其他地方为您的weed-fs项目提供Q&A部分,其中新用户以及经验丰富的杂草用户(无双关语)可以进行交互。你认为这是可以做到的事情吗?问题跟踪页面仅用于跟踪问题和错误,但其他人可能遇到问题并不一定是问题。 – qualebs 2017-05-29 19:37:05