0

我想编写一个简单的实用程序,通过文件的右键单击上下文菜单将图像上传到各种免费图像托管网站,如 TinyPic 或 Imageshack。

如何使用 .NET 做到这一点?我见过一些使用 cURL 将图像发布到这些网站的 linux 脚本,但我不确定如何创建发布请求,并在 C# 中完成图像?

有人可以指出我正确的方向吗?


编辑:

我找到了一个很好的资源。Cropper 是一个用 .net 编写的免费截图工具,有很多开源插件。其中之一是 SendToTinyPic.. 完整的源代码。链接在这里: http:
//www.codeplex.com/cropperplugins

4

4 回答 4

4

FlickrNet API使得从 .NET 使用 Flickr 变得非常容易。您必须拥有 Flickr 帐户以及API 密钥和共享密钥。一旦你有了你需要的东西,使用 API 就非常简单了:

// http://www.flickr.com/services/api/misc.api_keys.html
string flickrApiKey = "<api key>";
string flickrApiSharedSecret = "<shared secret>";
string flickrAuthenticationToken = "<authentication token>";

Flickr flickr = new Flickr( flickrApiKey, flickrApiSharedSecret );

flickr.AuthToken = flickrAuthenticationToken;    

foreach ( FileInfo image in new FileInfo[] { 
    new FileInfo( @"C:\image1.jpg" ), 
    new FileInfo( @"C:\image2.jpg" ) } )
{
    string photoId = flickr.UploadPicture(
        image.FullName, image.Name, image.Name, "tag1, tag2" );
}
于 2008-11-09T04:05:09.480 回答
3

使用 HttpWebRequest。

使用此类,您可以将数据发布到远程 HTTP 地址,只需将 mime/type 设置为 multi-part/form 编码,然后将图像中的二进制数据与请求一起发布。

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.71).aspx

于 2008-11-09T03:48:20.793 回答
1

对于 ImageShack,请查看此 Application

于 2008-11-09T04:17:09.593 回答
0

据我所知, TinyPic.com没有 API,但 Cropper SendToTinyPic 插件尝试使用“屏幕抓取”上传。官方版本的插件现在还不行,但是我用同样的方法做了一个补丁,提交到cropperplugins项目。它只是一个改变的源模块。任何人都可以下载插件项目,然后放入我的补丁,它应该可以工作。

使用补丁,它的 PritScrn 或 Alt-PrntScrn 将保存图像并上传到 tinypic,并将原始图像的 URL 填充到剪贴板上。全部在 2 秒内完成。简单的。

如果您不想要实际的工具,您仍然可以查看我的补丁的源代码,以了解如何发布带有表单数据和文件上传的页面。没有直接链接。请参阅http://cropperplugins.codeplex.com/SourceControl/PatchList.aspx并查找 #3239。


此示例图像已生成,然后使用 Alt-PrtScrn 组合键自动上传到 tinypic.com。 示例图片

要将其嵌入此处,我只需按 ctrl-V,因为 URL 存储在剪贴板上。

于 2009-07-02T18:50:28.470 回答