파일 업로드를 어떻게 해야 하는지.. 모르겠어요~~
강의실에 있는 내용은 봐도 모르겠구...
좀더... 자세히 알려줄수 있으세요?
알려주시면.. 정말 감사하구요~~
어떠한 파일이라도 크기 관계없이 올리고 싶은데...
또~ 크기를 제한 하려면.. 어떠케...
정말 정말 부탁입니다...
자세히 설명해주세요~~ (소스를 주시면.. 제가 분석해 보겠습니다...)
소스를 주시려면.. 주석도 달아 주세요~~
정말 죄송합니다... 잘 몰라서...
꼭~~ 꼭~~ 부탁드립니다.... 알려주세요~~ ( 제발~~~ )
소스를 보내드리진 못하고.. 팁에서 나온 파일업로드를 간단히 분석을 하면 이렇습니다.
다음의 함수가 실제 화일을 저장하는 부분입니다.. 이미지를 기준으로 되어 있지만..
procedure TWebModule1.WebModule1rootAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
strSaveAs, strSaveFrom, strSep, strReceived, strAdd: String ;
iTmp, iTotal: integer ;
F: File of char ;
Ticks: dword ;
begin
iTotal := Request.ContentLength ;
-- 현재 넘어올 파일의 크기를 가져 옵니다. 아마 바이트 단위일겁니다..
만일 파일의 크기를 제한하고 싶으시면.. 이 값을 이용하면 되겠죠
strReceived := Request.Content ;
Ticks := GetTickCount ;
if Length (strReceived) < iTotal then
repeat
strAdd := Request.ReadString (iTotal - Length trReceived)) ;
iTmp := Length (strAdd) ;
if iTmp > 0 then
begin
ticks := GetTickCount ;
strReceived := strReceived + strAdd ;
end ;
until (Length (strReceived) >= iTotal) or (GetTickCount - Ticks > 3000) ;
-- 이부분은 네트워크상 1메가의 파일이 한꺼번에 1메가가 다 넘어오는것은 아닙니다.
그래서 나누어진 부분을 합치는 루틴...
위의 두부분을 이해 하시면.. 다음은 실제 넘어온 데이터를 입맛에 맞게 파싱을 해야
합니다.. 넘어온 strReceived는 폼의 내용+파일입니다..
그럼 폼의 내용(제목, 올린이 내용)을 파싱해서 디비에 저장하고
파일을 파싱해서 파일을 특정 디렉 토리에 저장을 하면 됩니다...
왕초보 wrote:
> 파일 업로드를 어떻게 해야 하는지.. 모르겠어요~~
> 강의실에 있는 내용은 봐도 모르겠구...
> 좀더... 자세히 알려줄수 있으세요?
> 알려주시면.. 정말 감사하구요~~
>
> 어떠한 파일이라도 크기 관계없이 올리고 싶은데...
>
> 또~ 크기를 제한 하려면.. 어떠케...
>
> 정말 정말 부탁입니다...
> 자세히 설명해주세요~~ (소스를 주시면.. 제가 분석해 보겠습니다...)
> 소스를 주시려면.. 주석도 달아 주세요~~
>
> 정말 죄송합니다... 잘 몰라서...
> 꼭~~ 꼭~~ 부탁드립니다.... 알려주세요~~ ( 제발~~~ )
>