2012-06-20 145 views
-1

如何將多個文件上傳到xquery中的文件夾?如何將多個文件上傳到xquery中的文件夾?

+0

請再解釋一下你的問題。這些文件來自哪裏?你用什麼機制將它們加載到MarkLogic中? HTTP,XCC,QConsole? – derickson

+0

我想用文件上傳控件上傳。用戶應該可以選擇上傳多個或單個文件。該文件應該保存在Marklogic Server中。 –

+0

我想他是要求MarkLogic XQuery等同於Java服務器代碼的文件上傳,就像http://commons.apache.org/fileupload/與browser HTML/js for form input type =「file」配對。 Iirc,有時候有很多瀏覽器/客戶端欺騙,以及服務器端代碼需要處理http頭文件 - 理想情況下,您可以接收文件上傳流,而不是讀取整個上傳文件內容到內存中。 –

回答

2

你想通過文件系統上的目錄來迭代,並在數據庫中的某些位置插入這些文件,像這樣?

for $e in xdmp:filesystem-directory('c:\my-files\')/dir:entry 
let $file := xdmp:filesystem-file($e/dir:pathname) 
let $dest-uri := concat('/dest-path/',$e/dir:filename) 
where ($e/dir:type eq 'file') 
return xdmp:document-insert($dest-uri,$file) 
+0

問題並不清楚,但它似乎確實是在嘗試從客戶端而不是服務器上傳。 –

+0

什麼是dir命名空間? – basari66

+0

@ rishabhv66 http://marklogic.com/xdmp/directory – wst

0

你應該看看Information Studio。它提供了用於加載和轉換內容的UI。其中一個內置的「收集器」允許您指向文件系統目錄並遞歸加載其內容。 Information Studio會自動處理目錄遍歷並將負載分解爲多個事務,以及許多其他便利。

相關問題