2012-03-07 58 views
0

我在互聯網上找了這個,但沒有得到任何好的答案,所以這裏的問題:是否有可能從客戶端計算機上的perl web應用程序發送文件,而無需首先將其上傳到服務器?

我有一個perl web應用程序由一小羣人使用(通過他們的web瀏覽器訪問windows計算機上,大約100個用戶),在內部網上(這個應用程序在RedHat Apache服務器上),這個應用程序獲取用戶的輸入,並使用WWW::Mechanize將所有內容發送到另一個頁面上(不應該直接使用的另一個服務器),處理一個表單並返回結果(我知道它可能聽起來不是最佳的,但它是根據需要完成的),這裏的問題是我需要用戶能夠發送一個文件(很可能它是一個〜500kB的圖像,或者通過WWW::Mechanize以及其他提交的表單數據,或者通過電子郵件附件,eith呃選項是同樣可以接受的),並且我知道該文件可以發送/附加,如果它已經在服務器上,我的問題很簡單:

是否可以從客戶端計算機發送文件(運行perl web應用程序在瀏覽器上)而不上載到服務器(它將發送它)?

P.S.這不是那些「給我代碼」的問題之一,我沒有要求任何特定的代碼,我只是想知道這是否是可以完成的事情(並且如果它有一個想法如何),或者如果我絕對必須首先將文件上傳到運行perl應用程序的服務器(我已經有了一個腳本)。如果這是不可能的,那就好了,我只想確定在發送文件之前是否需要先上傳到服務器。

+0

我不確定手頭的問題非常明確。你可以嘗試詳細說明嗎? – 2012-03-07 15:21:39

+0

基本上,我想使用'WWW :: Mechanize'(帶有一個表單上傳它的另一個頁面)或者一個像'MIME :: Lite'(作爲附件)的模塊來發送文件,從運行的Web應用程序perl,但我想知道,如果該文件可以直接從客戶端發送,或者如果它必須加載到服務器,並從那裏發送 – DarkAjax 2012-03-07 15:27:27

+0

@darkajax發送的地方,從什麼客戶端,或加載到什麼服務器,併發送如何,何時,爲什麼? – hobbs 2012-03-07 16:04:05

回答

1

假設我正確理解你,是的,你可以通過WWW::Mechanize上傳一個文件。請參閱pb-upload示例。

+0

很好的例子,實際上我以前見過它,在這種情況下,.jpg文件在服務器本身(我知道可以完成,但我想知道是否有任何方法可以在客戶端計算機上使用這些文件) – DarkAjax 2012-03-07 15:29:52

+0

是的,但在你的情況下,你表明客戶正在使用WWW :: Mechanize。 WWW :: Mechanize是一個客戶端庫,預先作爲瀏覽器,所以發佈類似這樣的文件應該可以正常工作,因爲你的應用程序和文件將在客戶端上發佈到服務器上,然後返回結果。 – 2012-03-07 15:54:12

+0

你確定你不會使用WWW :: Mechanize的perl應用程序在哪裏運行嗎?儘管perl通常用於服務器端,但它也可以用於客戶端,這是我根據你寫的內容猜測的。 – 2012-03-07 15:58:48

1

是的,它可以完成如果客戶端計算機有一個可配置的郵件客戶端,足以允許類型爲「mail $ TO $ SUBJECT -attachment $ ATT_FILE」類型的命令。即使那樣你也需要用戶通過啓動行動來進行合作。

否則,沒有。由於沙盒限制,您無法通過JavaScript AFAIK進行操作。

我不知道Flash是否有足夠的選項。

相關問題