전송경로 : http://localhost/upload.php
전송할 파일명: C:\bloodguy.jpg
$_FILES 이름 : uploadImage
Delphi
// uses 에 TIdHTTP, IdMultiPartFormData, Classes 추가
procedure TForm1.Button1Click(Sender: TObject);
var
MultiPartFormData: TIdMultiPartFormDataStream;
ResultStr: TStringStream;
begin
MultiPartFormData:=TIdMultiPartFormDataStream.Create;
ResultStr:=TStringStream.Create;
try
// Request 세팅
FIdHTTP.Request.UserAgent:='BloodguyBrowser-_-';
FIdHTTP.Request.ContentType:=MultiPartFormData.RequestContentType;
// 파일첨부
MultiPartFormData.AddFile('uploadImage', 'C:\bloodguy.jpg', 'application/octet-stream');
MultiPartFormData.Position:=0;
// POST 전송
try
FIdHTTP.Post('http://localhost/upload.php', MultiPartFormData, ResultStr);
except on E:Exception do
OutputDebugString(PWideChar('POST 전송실패 : '+E.Message));
end;
// 응답결과
OutputDebugString(PWideChar(ResultStr.DataString));
finally
FreeAndNil(MultiPartFormData);
FreeAndNil(ResultStr);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
MultiPartFormData: TIdMultiPartFormDataStream;
ResultStr: TStringStream;
begin
MultiPartFormData:=TIdMultiPartFormDataStream.Create;
ResultStr:=TStringStream.Create;
try
// Request 세팅
FIdHTTP.Request.UserAgent:='BloodguyBrowser-_-';
FIdHTTP.Request.ContentType:=MultiPartFormData.RequestContentType;
// 파일첨부
MultiPartFormData.AddFile('uploadImage', 'C:\bloodguy.jpg', 'application/octet-stream');
MultiPartFormData.Position:=0;
// POST 전송
try
FIdHTTP.Post('http://localhost/upload.php', MultiPartFormData, ResultStr);
except on E:Exception do
OutputDebugString(PWideChar('POST 전송실패 : '+E.Message));
end;
// 응답결과
OutputDebugString(PWideChar(ResultStr.DataString));
finally
FreeAndNil(MultiPartFormData);
FreeAndNil(ResultStr);
end;
end;
PHP
<?
// USER_AGENT 체크
if ($_SERVER['HTTP_USER_AGENT']!='BloodguyBrowser-_-') die("지랄하고 자빠졌네");
if ($_FILES['uploadImage']['error']==UPLOAD_ERR_OK) {
$uploadPath='C:\htdocs\upload_files\';
// 파일명 정하기. 귀찮아서 대충 발라버린 코드 (-_-;)
$i=0;
while ($i<99999) {
$imgFile=$uploadPath.'\'.time().'_'.$i.'jpg'; // 경악! 무조건 jpg
// 정한 파일명을 가진 파일이 없으니 잽싸게 업로드하고 토끼자.
if (file_exists($imgFile)==false) {
move_uploaded_file($_FILES['uploadImage']['tmp_name'], $imgFile);
exit;
}
$i++;
}
}
?>
// USER_AGENT 체크
if ($_SERVER['HTTP_USER_AGENT']!='BloodguyBrowser-_-') die("지랄하고 자빠졌네");
if ($_FILES['uploadImage']['error']==UPLOAD_ERR_OK) {
$uploadPath='C:\htdocs\upload_files\';
// 파일명 정하기. 귀찮아서 대충 발라버린 코드 (-_-;)
$i=0;
while ($i<99999) {
$imgFile=$uploadPath.'\'.time().'_'.$i.'jpg'; // 경악! 무조건 jpg
// 정한 파일명을 가진 파일이 없으니 잽싸게 업로드하고 토끼자.
if (file_exists($imgFile)==false) {
move_uploaded_file($_FILES['uploadImage']['tmp_name'], $imgFile);
exit;
}
$i++;
}
}
?>
'Delphi' 카테고리의 다른 글
[Delphi] TWebBrowser 스크롤바 없애기 (2) | 2009.08.17 |
---|---|
[Delphi] RAD Studio 2009 에서 CreateProcess 사용시 에러 (0) | 2009.07.14 |
[Delphi] 키보드 누르기 (2) | 2009.06.21 |
[Delphi] 클립보드 이미지 데이터를 JPEG로 저장하기 (0) | 2009.06.21 |
[Delphi] Mutex로 중복실행 방지 (0) | 2009.06.21 |