2013-02-05 3 views
0

저는 최근에 처음으로 C# 응용 프로그램을 작성하여 작업을 마쳤습니다. 완벽합니다. 내가 파일 열기 대화를 가져온 다음 로컬 호스트 (WAMP)에있는 내 PHP 스크립트에 해당 파일을 보내 지금이 부분에 붙어C#을 통해 PHP 스크립트에 파일 보내기

.

 private void menu_upload_file_Click(object sender, EventArgs e) 
     { 
      DialogResult dialogOpened = openFileDialog1.ShowDialog(); 
      if (dialogOpened == DialogResult.OK) 
      { 
       string filename = openFileDialog1.FileName; 

       using (var client = new WebClient()) 
       { 
        client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename); 
       } 
      } 
     } 

아무것도 발생되지 않고 파일이 내 원하는 위치로 전송 (복사)되지 않는 :

이 내가 할 노력했습니다 것입니다.

파일 열기 대화 상자을 열어 보았지만 파일 이름/디렉토리를 잡아 내 웹 사이트로 보내면 처리 할 수있는 단서가 없습니다.

어쩌면 URL이 복잡할까요? 제출 및 조치 매개 변수를 전송하거나 스크립트를로드하지 않아야합니다.

OH AND : PHP에서$_FILES 배열 어쩌면이 문제는, images ($_FILES['images'])를 지정해야합니다? (이것을 생각하면서 이것에 대해 생각했다).

그럼 내 웹 사이트로 파일이 전송되지 않는 문제는 무엇입니까?

+0

WebClient.UploadFile이 실패 할 때 발생하는 예외를 삼키는 try..catch 어딘가에 있습니까 (문제라고 가정)? – mbeckish

+0

아니요, try-catch를 어디에 적용해야하는지, 예외가 throw 될지 모르기 때문에 아닙니다. 어쩌면 여기서 도울 수 있니? – Aborted

+1

WireShark를 사용하여 파일이 웹을 통해 전송되는지 확인해 보셨습니까? "dugi"서버의 로그를 보셨습니까? WAMP가 localhost에 있다고 했잖아. http DUGI 대신 LOCALHOST에 업로드해야합니까? – D3vtr0n

답변

1

내 PHP 스크립트에 문제가있었습니다. 나는 항상 그곳에 $_FILES['images']을 찾고있었습니다. 다음 몇 가지 구글 후, 나는 C#이 file ($_FILES['file'])이라는 파일 배열을 보냈다.

필자는 필자의 PHP 스크립트에 필요한 변경을가 했으므로 모든 것이 작동합니다.

2

client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename);이 예외를 throw하지 않는다고 가정하면 응답을 살펴보십시오.

var response = client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename); 

Console.WriteLine("\nResponse Received.The contents of the file uploaded are:\n{0}", 
       System.Text.Encoding.ASCII.GetString(response)); 
+0

이유는 모르겠지만, 이것은 나를 위해 명령 행 창을 여는 것처럼 보이지 않습니다. – Aborted

+0

I 디버깅 (처음 그것을 사용)을 시도 I는 '이 응답을 + \t \t 응답 \t {바이트 [935]} \t 바이트 []'사용자는 'View'에서 (은'Output' 창을 열 필요 – Aborted

+0

메뉴)를 사용하여 GUI 응용 프로그램에서 결과를 확인하십시오. – hegearon