@@ -1290,13 +1290,14 @@ public static long pcs_get_download_filesize(BaiduPCS pcs, string path)
1290
1290
/// <param name="path">目标文件,地址需写全,如/temp/file.txt</param>
1291
1291
/// <param name="buffer">待上传的字节序</param>
1292
1292
/// <param name="overwrite">指定是否覆盖原文件,传入PcsTrue则覆盖,传入PcsFalse,则自动重命名。</param>
1293
+ /// <param name="maxspeed">最大上传速度,0 为不限制上传速度。</param>
1293
1294
/// <returns>返回上传的文件的元数据 </returns>
1294
- public static PcsFileInfo pcs_upload_buffer ( BaiduPCS pcs , string path , byte [ ] buffer , bool overwrite = false )
1295
+ public static PcsFileInfo pcs_upload_buffer ( BaiduPCS pcs , string path , byte [ ] buffer , bool overwrite = false , long maxspeed = 0 )
1295
1296
{
1296
1297
IntPtr pathPtr = NativeUtils . utf8_str_ptr ( path ) ;
1297
1298
IntPtr bufptr = Marshal . AllocHGlobal ( buffer . Length ) ;
1298
1299
Marshal . Copy ( buffer , 0 , bufptr , buffer . Length ) ;
1299
- IntPtr fiptr = NativeMethods . pcs_upload_buffer ( pcs . Handle , pathPtr , overwrite ? NativeConst . True : NativeConst . False , bufptr , ( uint ) buffer . Length ) ;
1300
+ IntPtr fiptr = NativeMethods . pcs_upload_buffer ( pcs . Handle , pathPtr , overwrite ? NativeConst . True : NativeConst . False , bufptr , ( uint ) buffer . Length , maxspeed ) ;
1300
1301
NativeUtils . free_str_ptr ( pathPtr ) ;
1301
1302
Marshal . FreeHGlobal ( bufptr ) ;
1302
1303
if ( fiptr == IntPtr . Zero )
@@ -1312,12 +1313,13 @@ public static PcsFileInfo pcs_upload_buffer(BaiduPCS pcs, string path, byte[] bu
1312
1313
/// </summary>
1313
1314
/// <param name="pcs"></param>
1314
1315
/// <param name="buffer">待上传的字节序</param>
1316
+ /// <param name="maxspeed">最大上传速度,0 为不限制上传速度。</param>
1315
1317
/// <returns>返回上传的分片文件的元数据 </returns>
1316
- public static PcsFileInfo pcs_upload_slice ( BaiduPCS pcs , byte [ ] buffer )
1318
+ public static PcsFileInfo pcs_upload_slice ( BaiduPCS pcs , byte [ ] buffer , long maxspeed = 0 )
1317
1319
{
1318
1320
IntPtr bufptr = Marshal . AllocHGlobal ( buffer . Length ) ;
1319
1321
Marshal . Copy ( buffer , 0 , bufptr , buffer . Length ) ;
1320
- IntPtr fiptr = NativeMethods . pcs_upload_slice ( pcs . Handle , bufptr , ( uint ) buffer . Length ) ;
1322
+ IntPtr fiptr = NativeMethods . pcs_upload_slice ( pcs . Handle , bufptr , ( uint ) buffer . Length , maxspeed ) ;
1321
1323
Marshal . FreeHGlobal ( bufptr ) ;
1322
1324
if ( fiptr == IntPtr . Zero )
1323
1325
return new PcsFileInfo ( ) ;
@@ -1334,8 +1336,9 @@ public static PcsFileInfo pcs_upload_slice(BaiduPCS pcs, byte[] buffer)
1334
1336
/// <param name="read_func">读取该分片文件的方法</param>
1335
1337
/// <param name="userdata"></param>
1336
1338
/// <param name="content_size">总共需要上传的大小</param>
1339
+ /// <param name="maxspeed">最大上传速度,0 为不限制上传速度。</param>
1337
1340
/// <returns>返回上传的分片文件的元数据 </returns>
1338
- public static PcsFileInfo pcs_upload_slicefile ( BaiduPCS pcs , OnReadBlockFunction read_func , object userdata , uint content_size )
1341
+ public static PcsFileInfo pcs_upload_slicefile ( BaiduPCS pcs , OnReadBlockFunction read_func , object userdata , uint content_size , long maxspeed = 0 )
1339
1342
{
1340
1343
UserState state = new UserState ( )
1341
1344
{
@@ -1344,7 +1347,7 @@ public static PcsFileInfo pcs_upload_slicefile(BaiduPCS pcs, OnReadBlockFunction
1344
1347
} ;
1345
1348
string key = saveState ( state ) ;
1346
1349
IntPtr keyPtr = NativeUtils . str_ptr ( key ) ;
1347
- IntPtr fiptr = NativeMethods . pcs_upload_slicefile ( pcs . Handle , pcs . _onReadBlock , keyPtr , content_size ) ;
1350
+ IntPtr fiptr = NativeMethods . pcs_upload_slicefile ( pcs . Handle , pcs . _onReadBlock , keyPtr , content_size , maxspeed ) ;
1348
1351
NativeUtils . free_str_ptr ( keyPtr ) ;
1349
1352
removeState ( key ) ;
1350
1353
if ( fiptr == IntPtr . Zero )
@@ -1387,12 +1390,13 @@ public static PcsFileInfo pcs_create_superfile(BaiduPCS pcs, string topath, stri
1387
1390
/// <param name="topath">网盘文件,地址需写全,如/temp/file.txt</param>
1388
1391
/// <param name="local_filename">待上传的本地文件</param>
1389
1392
/// <param name="overwrite">如果网盘文件已经存在,是否覆盖原文件。true - 覆盖;false - 自动重命名</param>
1393
+ /// <param name="maxspeed">最大上传速度,0 为不限制上传速度。</param>
1390
1394
/// <returns>返回文件的元数据</returns>
1391
- public static PcsFileInfo pcs_upload ( BaiduPCS pcs , string topath , string local_filename , bool overwrite = false )
1395
+ public static PcsFileInfo pcs_upload ( BaiduPCS pcs , string topath , string local_filename , bool overwrite = false , long maxspeed = 0 )
1392
1396
{
1393
1397
IntPtr remotePtr = NativeUtils . utf8_str_ptr ( topath ) ;
1394
1398
IntPtr localPtr = NativeUtils . str_ptr ( local_filename ) ;
1395
- IntPtr fiptr = NativeMethods . pcs_upload ( pcs . Handle , remotePtr , overwrite ? NativeConst . True : NativeConst . False , localPtr ) ;
1399
+ IntPtr fiptr = NativeMethods . pcs_upload ( pcs . Handle , remotePtr , overwrite ? NativeConst . True : NativeConst . False , localPtr , maxspeed ) ;
1396
1400
NativeUtils . free_str_ptr ( remotePtr ) ;
1397
1401
NativeUtils . free_str_ptr ( localPtr ) ;
1398
1402
if ( fiptr == IntPtr . Zero )
@@ -1412,8 +1416,9 @@ public static PcsFileInfo pcs_upload(BaiduPCS pcs, string topath, string local_f
1412
1416
/// <param name="content_size">总共需要上传的大小</param>
1413
1417
/// <param name="userdata"></param>
1414
1418
/// <param name="overwrite">如果网盘文件已经存在,是否覆盖原文件。true - 覆盖;false - 自动重命名</param>
1419
+ /// <param name="maxspeed">最大上传速度,0 为不限制上传速度。</param>
1415
1420
/// <returns>返回文件的元数据</returns>
1416
- public static PcsFileInfo pcs_upload_s ( BaiduPCS pcs , string to_path , OnReadBlockFunction read_func , uint content_size , object userdata , bool overwrite = false )
1421
+ public static PcsFileInfo pcs_upload_s ( BaiduPCS pcs , string to_path , OnReadBlockFunction read_func , uint content_size , object userdata , bool overwrite = false , long maxspeed = 0 )
1417
1422
{
1418
1423
UserState state = new UserState ( )
1419
1424
{
@@ -1424,7 +1429,7 @@ public static PcsFileInfo pcs_upload_s(BaiduPCS pcs, string to_path, OnReadBlock
1424
1429
string key = saveState ( state ) ;
1425
1430
IntPtr keyPtr = NativeUtils . str_ptr ( key ) ;
1426
1431
IntPtr fiptr = NativeMethods . pcs_upload_s ( pcs . Handle , remotePtr , overwrite ? NativeConst . True : NativeConst . False ,
1427
- pcs . _onReadBlock , keyPtr , content_size ) ;
1432
+ pcs . _onReadBlock , keyPtr , content_size , maxspeed ) ;
1428
1433
NativeUtils . free_str_ptr ( remotePtr ) ;
1429
1434
NativeUtils . free_str_ptr ( keyPtr ) ;
1430
1435
removeState ( key ) ;
0 commit comments