我用的是你们网站上提供的c#SDK
测试时,只能上传一些小文件,而上传几MB的文件时,速度会非常慢,并最终失败。
另外我想做成异步,带进度的上传文件,结果失败,不知为什么
下面是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Qiniu.RS;
using Qiniu.IO.Resumable;
using Qiniu.IO;
using System.Net;
using System.IO;
namespace testQiNiu
{
class Program
{
public const string tmpBaseUrl = "http://cstmpfile.qiniudn.com/";
public const string tmpBucketName = "cstmpfile";
static void Main(string[] args)
{
Qiniu.Conf.Config.ACCESS_KEY = ".....";
Qiniu.Conf.Config.SECRET_KEY = ".....";
Guid guid = Guid.NewGuid();
string key = guid.ToString("N");
string fname = "E:\\迅雷\\p.mp4";
var policy = new PutPolicy(tmpBucketName, 3600);
string upToken = policy.Token();
PutExtra extra = new PutExtra();
IOClient client = new IOClient();
client.PutFile(upToken, key, fname, extra);
//PutPolicy policy = new PutPolicy(tmpBucketName, 3600);
//string upToken = policy.Token();
//Settings setting = new Settings();
//ResumablePutExtra extra = new ResumablePutExtra();
//ResumablePut client = new ResumablePut(setting, extra);
//client.Progress += new Action(client_Progress);
//client.PutFailure += new EventHandler(client_PutFailure);
//client.PutFinished += new EventHandler(client_PutFinished);
//client.PutFile(upToken, fname, key);
FileInfo fi = new FileInfo(fname);
WebClient wc = new WebClient();
wc.DownloadFile(tmpBaseUrl + key, fi.Name);
Console.ReadKey();
}
static void client_PutFinished(object sender, Qiniu.RPC.CallRet e)
{
Console.WriteLine("下载完成");
}
static void client_PutFailure(object sender, Qiniu.RPC.CallRet e)
{
Console.WriteLine("出错:" + e.Exception.Message);
}
static void client_Progress(float obj)
{
Console.WriteLine(obj.ToString()+"%");
}
}
}