2013-11-23 46 views
0

我有一个窗体WPF它打开文件对话框,可以选择一个图像。当点击窗体上的“保存”按钮时,理想情况下应该将图像保存到我的Web服务器上的文件夹中。我发现没有直接的方式将文件上传到我的服务器上的FTP文件夹,所以我使用了PHP Web服务来为我做这件事。将图像发布到WPF的PHP Web服务(C#/ VB .Net)

所以我想用POST方法将图像发送到uploadImage.php网络服务,它检查图像,然后将其保存在我的服务器上的文件夹中。谢谢你的帮助。

我现在尝试(在VB.Net虽然连C#示例就足够了)

Dim client = New WebClient() 
    client.UploadFile("http://www.foo.com/imageUpload.php",doctorPic.Source.ToString()) 
    //doctorPic is the name of the image control in WPF 
+1

您必须将图像文件路径(从FileDialog)传递给'UploadFile',而不是Source.ToString。 – Clemens

+0

我从来没有使用过WCF或任何WebServices。但我经常在www.youtube.com/kudvenkat上观看视频,您可以在其中获得答案。 – Khushi

回答

0

只要您创建了一个BitmapImage的从文件路径从FileDialog的回来,你可以恢复从该路径像这样的图像控制:

var bitmap = (BitmapImage)doctorPic.Source; 
var uri = bitmap.UriSource; 
var path = uri.AbsolutePath; 
client.UploadFile("http://www.foo.com/imageUpload.php", path); 

否则,你可以简单地存储文件路径的地方(例如,在一个局部变量或在您的类中的字段),并使用在UploadFile。

+0

这确实将图像传递给URL,但它不会在我检查我的PHP Web服务上的$ _POST ['file']时发布它。 –

+0

你试过了吗?请再次阅读[UploadFile](http://msdn.microsoft.com/en-us/library/36s52zhs.aspx)文档,特别是备注部分。 – Clemens