請問關於CGI的檔案上傳問題: |
尚未結案
|
remmurds
一般會員 發表:17 回覆:14 積分:16 註冊:2006-10-29 發送簡訊給我 |
<textarea class="cpp" rows="10" cols="60" name="code">//---------------------------------------------------------------------------
#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TWebModule1 *WebModule1;
//---------------------------------------------------------------------------
__fastcall TWebModule1::TWebModule1(TComponent* Owner)
: TWebModule(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1WebActionItem1Action(
TObject *Sender, TWebRequest *Request, TWebResponse *Response,
bool &Handled)
{
int i;
TFileStream *FStream;
TStringList *MSG = new TStringList();
Response->ContentType = "text/html";
for(i = 0; i < Request->Files->Count; i )
{
if(!ExtractFileName(Request->Files->Items[i]->FileName).IsEmpty())
{
MSG->Add(ExtractFileName(Request->Files->Items[i]->FileName) "
"); FStream = new TFileStream(ExtractFileName(Request->Files->Items[i]->FileName), fmCreate); FStream->CopyFrom(Request->Files->Items[i]->Stream, 0); delete FStream; } } Response->Content = MSG->Text; delete MSG; } //--------------------------------------------------------------------------- </textarea> 小弟寫了一個這樣的CGI程式負責處理檔案的上傳動作 結果會出現HTTP 500 - 內部伺服器錯誤 但如果把程式改成以下內容進行測試則可正確執行 並顯示出所上傳的檔案名稱: <textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TWebModule1 *WebModule1; //--------------------------------------------------------------------------- __fastcall TWebModule1::TWebModule1(TComponent* Owner) : TWebModule(Owner) { } //--------------------------------------------------------------------------- void __fastcall TWebModule1::WebModule1WebActionItem1Action( TObject *Sender, TWebRequest *Request, TWebResponse *Response, bool &Handled) { int i; TStringList *MSG = new TStringList(); Response->ContentType = "text/html"; for(i = 0; i < Request->Files->Count; i ) { if(!ExtractFileName(Request->Files->Items[i]->FileName).IsEmpty()) { MSG->Add(ExtractFileName(Request->Files->Items[i]->FileName) " "); } } Response->Content = MSG->Text; delete MSG; } //--------------------------------------------------------------------------- </textarea> 可見小弟所寫的程式在FileStream的部分出了問題 請問我究竟哪裡有誤呢? PS:提供檔案上傳的HTML網頁在附加檔案中,另外CGI的執行環境為IIS 6.0。
------
隨筆網誌: http://reassert.blogspot.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |