REST API POST 服务器返回 结果 :"code":-63,"message":"fileid **与签名不匹配**"执行代码如下:NSString Signature= HttpTools GetCosSignature:Model.ImageBucket; //根据url初始化request NSMutableURLRequest request = [NSMutableURLRequest requestWithURL:NSURL URLWithString:Url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20]; //得到图片的data NSData Imgdata; if(FilePath){ UIImage image=UIImage imageWithContentsOfFile:FilePath; //返回为JPEG图像。 //判断图片是不是png格式的文件 if (UIImagePNGRepresentation(image)) { //返回为png图像。 Imgdata = UIImagePNGRepresentation(image); }else { //返回为JPEG图像。 Imgdata = UIImageJPEGRepresentation(image, 1.0); } } // 给请求头加入固定格式数据 NSMutableData *data = NSMutableData data; /****文件参数相关设置*/ // 设置边界 注:必须和请求头数据设置的边界 一样, 前面多两个“-”;(字符串 转 data 数据) [data appendData:@"------WebKitFormBoundaryftnnT7s3iF7wV5q6" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; // 设置传入数据的基本属性, 包括有 传入方式 data ,传入的类型(名称) ,传入的文件名, 。 NSString ContentHead=NSString stringWithFormat:@"Content-Disposition: form-data; name=\"filecontent\"; filename=\"%@\"",FileName; [data appendData:ContentHead dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; // 加入数据内容 data appendData:Imgdata; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; // 设置边界 [data appendData:@"------WebKitFormBoundaryftnnT7s3iF7wV5q6" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; /**非文件参数相关设置**/ // 设置传入的类型(名称) [data appendData:@"Content-Disposition: form-data; name=\"op\"" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; // 传入的名称username = lxl [data appendData:@"upload" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; // 退出边界 [data appendData:@"------WebKitFormBoundaryftnnT7s3iF7wV5q6--" dataUsingEncoding:NSUTF8StringEncoding]; [data appendData:@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]; request setValue:Signature forHTTPHeaderField:@ "Authorization"; request setHTTPBody ata; //http method request setHTTPMethod:@"POST"; NSHTTPURLResponse urlResponese = nil; NSError error = [NSError allocinit]; NSData resultData = NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponese error:&error; NSString result= [NSString alloc initWithData:resultData encoding:NSUTF8StringEncoding];SDK POST 方法 报 -61 **bucket**与签名中的**bucket**不匹配NSString Signature= HttpTools GetCosSignature:Model.ImageBucket; NSLog(@"%@",Signature); TXYFileUploadTask task=[TXYFileUploadTask allocinitWithPath:FilePath sign:Signature bucket:Model.ImageBucket customAttribute:nil uploadDirectory:Model.ImageBucket msgContext:@""];; TXYUploadManager manager= [TXYUploadManager alloc initWithCloudType:TXYCloudTypeForFile persistenceId:nil appId:Model.AppId]; manager upload:task complete:^(TXYTaskRsp resp, NSDictionary context) { //retCode大于等于0,表示上传成功 if (resp.retCode >= 0) { //得到图片上传成功后的回包信息 TXYPhotoUploadTaskRsp photoResp = (TXYPhotoUploadTaskRsp )resp; NSLog(@"上传成功!,code:%d desc:%@ ,url :%@, FileId:%@ ", resp.retCode, resp.descMsg,photoResp.photoURL,photoResp.photoFileId); } else { NSLog(@"上传图片失败,code:%d desc:%@ ", resp.retCode, resp.descMsg); } } progress:^(int64_t totalSize, int64_t sendSize, NSDictionary context) { } stateChange:^(TXYUploadTaskState state, NSDictionary context) { };
可以从尝试下这个使用方法:
import tensorflow as tf
from keras import backend as K
num_cores = 4
if GPU:
num_GPU = 1
num_CPU = 1
if CPU:
num_CPU = 1
num_GPU = 0
config = tf.ConfigProto(intra_op_parallelism_threads=num_cores,\
inter_op_parallelism_threads=num_cores, allow_soft_placement=True,\
device_count = {'CPU' : num_CPU, 'GPU' : num_GPU})
session = tf.Session(config=config)
K.set_session(session)
如果您想强制Keras使用cpu
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"] = ""
在导入Keras/TensorFlow之前。
将脚本运行为
$ CUDA_VISIBLE_DEVICES="" ./your_keras_code.py
另见