簡體   English   中英

通過http請求發送文件

[英]Send a file through an http request

我正在學習D3.js 如本示例中所述,如何使用httpRequest發送文件: chart

我在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;

通過使用Apache通用jar,示例代碼將如下所示

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);
        }        
     }

看看File Upload Servlet以獲得完整的代碼片段

使用AJAX 上傳文件AJAX文件上傳

編輯

從Servlet調用javascript:

   request.getRequestDispatcher("/some.jsp").forward(request,response)

在此jsp中,只需調用Javascript。

但這不是一個好的設計。 Servlet在服務器上執行,而Javascript在客戶端上執行。 如果要從本地計算機上載文件,則可以使用Java或Javascript的文件上載實用程序。 從Servlet調用Javascript是不正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM