Я сохранил файл изображения в библиотеке документов на устройстве iOS с помощью Objective-C, и он работает в изображении пользовательского интерфейса.В этом случае я хочу загрузить файл куда-нибудь (например, Dropbox), он загружается успешно, но я не могу открыть файл, и ошибка компьютера говорит, что «файл изображения (Image.jpg) не может быть открыт. Он может быть поврежден», Снимок экрана с ошибкой
Проблема не в процессе загрузки, поскольку при переходе в папку библиотеки документов я не могу открыть этот файл.Код, который я использовал для сохранения фотографий:
NSString *filePath = [self filesystemPathForURL:localURL];
CDVPluginResult* result = nil;
CDVFileError errCode = INVALID_MODIFICATION_ERR;
int bytesWritten = 0;
if (filePath) {
NSOutputStream* fileStream = [NSOutputStream outputStreamToFileAtPath:filePath append:shouldAppend];
if (fileStream) {
NSUInteger len = [encData length];
if (len == 0) {
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDouble:(double)len];
} else {
[fileStream open];
bytesWritten = (int)[fileStream write:[encData bytes] maxLength:len];
[fileStream close];
if (bytesWritten > 0) {
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsInt:bytesWritten];
// } else {
// can probably get more detailed error info via [fileStream streamError]
// errCode already set to INVALID_MODIFICATION_ERR;
// bytesWritten = 0; // may be set to -1 on error
}
}
} // else fileStream not created return INVALID_MODIFICATION_ERR
} else {
// invalid filePath
errCode = NOT_FOUND_ERR;
}
if (!result) {
// was an error
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsInt:errCode];
}
return result;
Я также пробую этот код:
NSString *filePath = [self filesystemPathForURL:localURL];
[encData writeToFile:filePath atomically:YES];
encData - это NSData файла изображения.