iOS-Bild als Stream hochladen
怪我咯
怪我咯 2017-06-06 09:52:38
0
1
887

Das Unternehmen lädt Bilder hoch. Das Serverpersonal sagte, dass Bilder über Bild-Streaming hochgeladen werden. Ich habe die folgenden Methoden ausprobiert, aber keine davon hat funktioniert:

[manager POST:@"http://xxxxxxxx:8094/interface_normal/editorFile/uploadImages.do" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    NSData* imageData = UIImageJPEGRepresentation(images[i], 0.5);
    [formData appendPartWithFileData:imageData name:@"file" fileName:@"tupian.png" mimeType:@"image/png"];
} success:^(NSURLSessionDataTask *task, id responseObject) {
    NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
    
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    
}];

Es gibt auch folgende Methoden:

NSData *data = UIImageJPEGRepresentation(image, 0.5f);
NSString *uploadUrl = [NSString stringWithFormat:@"%@editorFile/uploadImages.do", BASE_URL];
NSInputStream *imageStream = [[NSInputStream alloc] initWithData:data];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:uploadUrl]];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%ld", [data length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.inputStream = imageStream;

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    completionBlock(responseObject, nil);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    completionBlock(operation.responseObject,error);
}];

[operation start];

Der Upload ist immer noch fehlgeschlagen, bitte helfen Sie mir, das Problem zu lösen

Das Hochladen von Bildern mit Charles zum Erfassen von Paketen auf Android ist wie folgt möglich:

Die Ergebnisse der Paketerfassung unter iOS sind wie folgt: Nach dem Ausprobieren vieler Methoden meldet der Server, dass der Upload fehlgeschlagen ist

Außerdem teilte mir der Server mit, dass er den Eingabestream auf diese Weise erhalten habe, aber der Eingabestream, den er von mir erhalten habe, sei gleich Null

InputStream is = request.getInputStream();
            
            DataInputStream input = new DataInputStream(is); 
            byte[] buf = new byte[2048];
            byte[] tb = new byte[input.readInt()];


怪我咯
怪我咯

走同样的路,发现不同的人生

Antworte allen(1)
左手右手慢动作

application/octet-stream

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage