Wie man ein Bild aus dem Verzeichnis holt, dann konvertiert es in base64string und sendet es über den Webservice.Ich habe Bilder im Verzeichnis. muss dieses Bild bekommen und in base64 string konvertieren?
Antwort
Sie können dies tun:
// Gets image from your file directory
UIImage *image = [UIImage imageWithContentsOfFile:@"path/to/your/directory"];
// Converts it to NSData type.
NSData *imageData = UIImageJPEGRepresentation(image, 1);
// Converts it to base64 string.
NSString *encodedString = [imageData base64Encoding];
// Swift
var image: UIImage = UIImage.imageWithContentsOfFile("path/to/your/directory")!
// Converts it to NSData type.
var imageData: NSData = UIImageJPEGRepresentation(image, 1)
// Converts it to base64 string.
var encodedString: String = imageData.base64Encoding()
Die Frage hat die Tags 'swift' und 'swift2'; Sie könnten den Code Ihrer Antwort in Swift ändern. –
Ich habe alle drei Szenarien hinzugefügt (Die drei Beispiele sind nicht verwandt) 1. das Bild konvertieren. 2. das Bild aus dem Verzeichnisdateien zu finden 3. Veröffentlichung des Bildes auf dem Server
Hier ist, wie Sie ein base64 Bild
//Use image name from bundle to create NSData
let image : UIImage = UIImage(named:"imageNameHere")!
//Now use image to create into NSData format
let imageData:NSData = UIImagePNGRepresentation(image)!
//OR next possibility
//Use image's path to create NSData
let url:NSURL = NSURL(string : "urlHere")!
//Now use image to create into NSData format
let imageData:NSData = NSData.init(contentsOfURL: url)!
Hier erstellen, wie Sie das Bild aus dem Dateimanager finden
NSString *searchFilename = @"hello.png"; // name of the PDF you are searching for
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory];
NSString *documentsSubpath;
while (documentsSubpath = [direnum nextObject])
{
if (![documentsSubpath.lastPathComponent isEqual:searchFilename]) {
continue;
}
NSLog(@"found %@", documentsSubpath);
}
die Anfrage zu senden, habe ich NSMutableURLRequest die JSON Anfrage
var request = NSMutableURLRequest(URL: NSURL(string: url))
request.HTTPMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
zu handhaben
Um den HTTPBody vorzubereiten, musste ich das Bild in eine Base64-Zeichenfolge codieren. Dies geschieht durch folgendes:
var imageData = UIImageJPEGRepresentation(image, 0.9)
var base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.fromRaw(0)!) // encode the image
Nachdem ich dies getan habe, habe ich das codierte Bild in einem Dictionary in den entsprechenden Parameter. Ich habe es in eine JSON-Repräsentation serialisiert, die ich dem HTTPBody zugewiesen habe.
var err: NSError? = nil
var params = ["image":[ "content_type": "image/jpeg", "filename":"test.jpg", "file_data": base64String]]
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: NSJSONWritingOptions(0), error: &err)!
Ich verwendete das freigegebene Sitzungsobjekt, um eine Aufgabe zu erstellen, um die Anfrage zu senden. Ich habe ein Anforderungsmodell erstellt, das ich in ein MutableURLRequest umwandeln kann. Sie können sehen, wie es hier aussieht.
var session = NSURLSession.sharedSession()
var task = session.dataTaskWithRequest(request.toMutableURLRequest(), completionHandler: { data, response, error -> Void in
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
var err: NSError?
// process the response
})
task.resume() // this is needed to start the task
Nachdem die Anfrage abgeschlossen ist, wird der Block, den ich über den CompletionHandler übergeben habe, ausgeführt. Von dort konnte ich die Antwort bewerten. So konnte ich das von der Kamera meines Handys aufgenommene Bild an den Server senden.
- 1. React-Native: Bild-URL in Base64-String konvertieren
- 2. Bild in Base64 konvertieren String in Java
- 3. Bild aufnehmen und in Base64 konvertieren
- 4. Perl Bild in Base64 konvertieren
- 5. MVC konvertieren Base64 String des Bild, aber ... System.FormatException
- 6. Konvertieren von Bild in Base64 mit Capybara
- 7. Wie Konvertieren von Byte zu base64 String
- 8. Javascript Bild von Base64 String
- 9. Get Blob Bild und konvertieren Sie dieses Bild in Bitmap-Bild
- 10. PHP BASE64 zu Bild konvertieren
- 11. Konvertieren von base64 String zu Bild in Android
- 12. Android konvertieren Bitmap zu Base64 String Problem
- 13. Konvertieren unsigned Char-Array zu Base64-String
- 14. Convert Base64 String in Bild Anhang
- 15. Wie base64 Zeichenfolge in Bild konvertieren?
- 16. PHP konvertieren base64 Bild-String für MySQL to blob
- 17. P12 APNS-Zertifikat in Base64-String konvertieren
- 18. Ionic 2 - muss Bild von einer URL zu Base64 String konvertieren
- 19. Konvertieren base64 Bild zu StringIO für Carrierwave
- 20. Ich möchte base64_encode Bild in Bild konvertieren
- 21. Codiere ich Bilder in Base64 richtig?
- 22. Wie kann ich Base64 Bild in Dateityp konvertieren
- 23. base64 String zu Byte zu Bild
- 24. HTML-String in Bild konvertieren
- 25. Ich habe ein Bild der Auflösung 1241 * 2207.In welchen Ordner lege ich dieses Bild?
- 26. Ich habe ein Problem im Dokument Verzeichnis
- 27. JPEG-Bild im Base64-Format
- 28. Python plot base64 string als Bild
- 29. Wie base64 String in doc/docx in C# konvertieren?
- 30. Bild als Base64-String lesen; Nicht genügend Speicher Ausnahme
können Sie etwas zeigen, was Sie bereits versucht haben –
Diese Frage ist viel zu vage. Brauche einen Code, den du ausprobiert hast. –