2012-06-10 2 views
0

C# 클라이언트 응용 프로그램과 Nusoap webservice를 사용하여 파일을 업로드하고 싶습니다. 내가 어떻게 할 수 있니? 데이터베이스에 삽입하기 위해 Nusoap webservice를 사용하지만 업로드 파일에는 아무런 아이디어가 없습니다. 도와주세요. 감사합니다. .PHP와 C#의 Nusoap에 의한 zip 파일 업로드

답변

2

NuSOAP에 대한 경험이 없으므로 NuSOAP을 사용하지 않고 PHP를 실행하는 서버에 파일을 업로드하는 최선의 방법으로 대답해야합니다.

다음 코드는 주어진 파일의 내용을 표준 HTML 양식을 통해 전송 된 것처럼 PHP 페이지에 전달합니다 (POST).

public void UploadFile(string path) { 
    WebClient wc = new WebClient(); 
    wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); 
    Int64 numBytes = new FileInfo(path).Length; 
    FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); 
    BinaryReader br = new BinaryReader(fs); 
    Byte[] data = br.ReadBytes(Convert.ToInt32(numBytes)); 
    br.Close(); 
    fs.Close(); 
    wc.UploadData("http://127.0.0.1/upload.php", "POST", data); 
} 

편집 : 이전에 제가 사용했던 PHP가 있습니다. 잠재적으로 안전하지 않으며 새 파일을 업로드 할 때마다 동일한 파일을 항상 덮어 씁니다. 당신은 보안에 대한 몇 가지 파일 검사와 함께 이것에 약간의 동적 인 작업을 시도 할 수 있습니다 ... 그러나 웹 양식의 표준 업로드를위한 수정 된 PHP 파일을 사용할 수 있어야합니다.

<?php 
    $fp = fopen('snap.jpg', 'wb'); 
    fwrite($fp, file_get_contents('php://input')); 
    fclose($fp); 
?> 
+0

귀하의 답변에 대해 감사드립니다. 그러나 upload.php의 내용은 무엇입니까? 어떤 업로드 양식과 비슷하거나 유사한가요? –

+0

PHP로 파일을 업로드하는 것에 대해 도와 줄 수 있습니까? –

+0

죄송합니다, 자고있었습니다. 파일을 저장하는 데 사용한 PHP로 내 대답을 편집했습니다. 보안을 강화하고 더 나은 방법을 제공합니다. – Spooky