Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过http请求发送文件_Javascript_Java_D3.js_Httprequest - Fatal编程技术网

Javascript 通过http请求发送文件

Javascript 通过http请求发送文件,javascript,java,d3.js,httprequest,Javascript,Java,D3.js,Httprequest,我正在学习D3.js。如何使用本示例中描述的httpRequest发送文件: 我在eclipse中有一个本地服务器tomcat。可以用这个吗 @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //send file from here } 然后从以下位置捕获它:

我正在学习D3.js。如何使用本示例中描述的httpRequest发送文件:

我在eclipse中有一个本地服务器tomcat。可以用这个吗

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
     //send file from here
}
然后从以下位置捕获它:

d3.tsv("data.tsv", function(error, data) {
    if (error) throw error;

通过使用apachecommonjar,示例代码如下

if(ServletFileUpload.isMultipartContent(request)){
   try {
            List<FileItem> multiparts = new ServletFileUpload(
                                     new DiskFileItemFactory()).parseRequest(request);

            for(FileItem item : multiparts){
                if(!item.isFormField()){
                    String name = new File(item.getName()).getName();
                    item.write( new File(UPLOAD_DIRECTORY + File.separator + name));
                }
            }
           //File uploaded successfully
           request.setAttribute("message", "File Uploaded Successfully");
        } catch (Exception ex) {
           request.setAttribute("message", "File Upload Failed due to " + ex);
        }        
     }
在这个jsp中,只需调用Javascript


但这不是一个好的设计。Servlet在服务器端执行,Javascript在客户端执行。如果您想从本地计算机上载文件,可以使用Java或Javascript的文件上载实用程序。从Servlet调用Javascript是不对的。

这不是一篇文章,这将是一个收获。@Cyril感谢您的评论,你能给我一个小片段吗?@Oirc:你想把文件从Javascript上传到Servlet还是想把文件从Servlet发送到Javascript?@Cyril我想把文件从Servlet发送到Javascript看一看:谢谢,那我怎么能从Javascript抓到它呢?->
d3.tsv(“data.tsv”,函数(错误,数据)
在上述示例的index.jsp中添加java脚本
   request.getRequestDispatcher("/some.jsp").forward(request,response)