2011-01-06 37 views
2

是否有一個多部分POST庫在那裏實現從HTML表單執行POST的相同效果?例如 - 用Java編程上傳文件,而使用HTML表單上傳文件。而在服務器端,它只是盲目地期望來自客戶端的請求是一個多部分POST請求,並根據需要解析出數據。java多部分POST庫

有沒有人試過嗎?

具體而言,我想看看我是否能模擬與Java

以下用戶通過提交HTML表單包含一個或多個文件輸入字段創建一個blob。您的應用程序將blobstoreService.createUploadUrl()設置爲此表單的目標(操作),並將該函數的處理程序的URL路徑傳遞給您的應用程序。當用戶提交表單時,用戶的瀏覽器將指定的文件直接上傳到Blobstore。 Blobstore重寫用戶的請求並存儲上傳的文件數據,用一個或多個對應的Blob鍵替換上傳的文件數據,然後將重寫的請求傳遞到您提供給blobstoreService.createUploadUrl()的URL路徑的處理程序。該處理程序可以根據blob鍵進行其他處理。最後,處理程序必須返回一個僅包含標題的重定向響應(301,302或303),通常是瀏覽器重定向到另一頁,指示blob上傳的狀態。

設置爲blobstoreService.createUploadUrl作爲表單操作,傳遞應用程序路徑以在完成表單的POST時加載。

<body> 
    <form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data"> 
     <input type="file" name="myFile"> 
     <input type="submit" value="Submit"> 
    </form> 
</body> 

請注意,這是上傳表單看起來是如何創建爲JSP的。 表單必須包含文件上傳字段,並且表單的enctype必須設置爲multipart/form-data。當用戶提交表單時,POST由Blobstore API處理,它創建blob。 API還爲blob創建信息記錄並將記錄存儲在數據存儲中,並將重寫的請求作爲blob密鑰傳遞給給定路徑上的應用程序。

回答

0

您不需要庫;這可以通過股票Java類(example)來實現。

在服務器端,您將實現一個Java Servlet解決方案,該解決方案可以非常簡單地解析HTTP請求參數。

+0

感謝,但如果以模擬的形式就是像下面這樣? 」method =「post」enctype =「multipart/form-data」> tom 2011-01-06 09:31:14