2011-09-06 3 views
0

Sinatra 웹 서비스에 파일을 업로드하기 위해 VB.Net을 사용하려고하는데 어느 쪽을 구성해야할지 모르겠습니다. 내가 VB.Net 응용 프로그램을 실행하면,시나는 변함 코드 (404)로 응답 여기에 내가 다른 SO 게시물에서 변환 된 VB.Net 코드입니다 :sinatra에 파일 업로드를 위해 vb.net을 사용하려고 시도합니다.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim responseData As String = "" 
    Dim rdr As FileStream = New FileStream("X:\QueryTxtFiles\Query\CDA Curncy_9_1_2011.fqy", FileMode.Open) 
    Dim req As HttpWebRequest = DirectCast(WebRequest.Create("http://finqueryserver:9898"), HttpWebRequest) 
    req.Method = "POST" ' you might use "POST" 
    req.ContentLength = rdr.Length 
    req.AllowWriteStreamBuffering = True 

    Dim reqStream = DirectCast(req.GetRequestStream(), Stream) 

    Dim inData(rdr.Length) As Byte 

    ' Get data from upload file to inData 
    Dim bytesRead As Integer = rdr.Read(inData, 0, rdr.Length) 

    ' put data into request stream 
    reqStream.Write(inData, 0, rdr.Length) 

    rdr.Close() 
    Try 
     req.GetResponse() 
    Catch ex As Exception 
     responseData = "An error occurred: " & ex.Message 
    End Try 

    ' after uploading close stream 
    reqStream.Close() 
End Sub 

는 그리고 여기시나 코드 :

require 'rubygems' 
require 'sinatra' 

post '/:name/:filename' do 
puts "got here" 

    begin 
    name = params[:name] 
    rescue 
    name = "no name" 
    end 
    begin 
    filename = params[:filename] 
    rescue 
    filename = "no filename" 
    end 
end 

(나는 "여기있어.") Sinatra 코드는 cURL을 사용하는 자습서를 기반으로합니다. 또한

도 (404)를 제공
post "/:filename' 

, 그리고 "여기있어"보여 않습니다,하지만 난 파일을 처리해야하기 때문에 분명히 쓸모가 단순히

post "/" 

을 시도했습니다.

분명히 저는 두 사람 모두 초보자입니다.하지만 그럴 수는 없지만 무엇을해야할지 모르겠습니다.

감사합니다.

답변

0

자, 후손을 위해, 내가 작동하도록 한 것은 다음과 같습니다. vb.net 코드에서, 내가 사용 :

qry_results = wc.UploadFile("http://192.168.9.81:9898/execfqy", "X:\QueryTxtFiles\Query\CDA Curncy_9_1_2011.fqy") 

와시나 파일 :

post '/execfqy' do 
qry_file.write(params[:file][:tempfile].readlines) 
관련 문제