Javascript 从应用程序向网页发送图像数据

Javascript 从应用程序向网页发送图像数据,javascript,php,ios,ajax,Javascript,Php,Ios,Ajax,我正在创建一个应用程序,它要求将一个图像发送到一个web服务,作为他们的个人资料图片,尽管我发现您不能通过url直接发送base64代码,因为这会使url太大,我想知道除了使用url栏之外,是否还有其他方法可以做到这一点。这些数据需要在加载之前保存在站点上,以便php能够在将数据添加到数据库之前完成其工作并为其创建一个文件 我想知道您是否可以通过javascript在设备上注入图像,然后通过一个使用ajax将数据发布到另一个php页面的函数捕获javascript 我愿意接受任何关于如何做的建议

我正在创建一个应用程序,它要求将一个图像发送到一个web服务,作为他们的个人资料图片,尽管我发现您不能通过url直接发送base64代码,因为这会使url太大,我想知道除了使用url栏之外,是否还有其他方法可以做到这一点。这些数据需要在加载之前保存在站点上,以便php能够在将数据添加到数据库之前完成其工作并为其创建一个文件

我想知道您是否可以通过javascript在设备上注入图像,然后通过一个使用ajax将数据发布到另一个php页面的函数捕获javascript


我愿意接受任何关于如何做的建议

,因为您指出您正在使用Web服务,我不认为需要通过URL传输图片。例如,如果您使用的是SOAP,则可以将base64字符串嵌入到XML信封中并发送它

这是我在一个项目中用来向Web服务发送base64编码字符串的代码

 // build up base64 encode string from image
NSString* image = [UIImageJPEGRepresentation(img, 1.0f) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

// the call
NSString* envelopeText = CREATE_ENVELOPE_HERE

NSData *envelope = [envelopeText dataUsingEncoding:NSUTF8StringEncoding];

// construct request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:webServiceUrl]];

[request addValue:@"SOAP_ACTION_HERE" forHTTPHeaderField:@"SOAPAction"];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:envelope];
[request setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

[request setValue:[NSString stringWithFormat:@"%d", [envelope length]]forHTTPHeaderField:@"Content-Length"];

// fire away
conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];

if (conn) {
    responseData = [NSMutableData data];
}
else {
    NSLog(@"NSURLConnection initWithRequest: Failed to return a connection.");
}

此外,我必须说我没有正确理解你问题的最后一部分。你想通过iOS应用程序上传图片,然后加载使用它的页面

您可以将图像作为多部分数据发送到服务器,请参阅下面的代码:希望对您有所帮助

NSURL * url=[NSURL URLWithString:[NSString stringWithFormat:@"%@",url_string]];
NSMutableURLRequest *request1 = [NSMutableURLRequest requestWithURL:url];
 [request1 setHTTPMethod:@"POST"];
[request1 setValue:@"application/json" forHTTPHeaderField:@"Accept"];

NSData *imageData = image;
NSString *boundary = @"0xKhTmLbOuNdArY";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request1 addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];


[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"user_profile[image_attributes][attachment]\"; filename=\"photo.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request1 setHTTPBody:body];
[NSURLConnection sendAsynchronousRequest:request1
                                   queue:[NSOperationQueue currentQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {}];

如何访问php文件中的图像从iphone发送的图像将以代码中指定的文件名(photo.jpg)保存在服务器中。如何访问php文件中的图像