Próbuję odczytać plik .PNG przy użyciu Titanium 1.8.1 Oto mój kod do odczytu pliku.Titanium Tworzenie pliku obrazu: file.write (blob) nie tworzenie poprawnego pliku
var f = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'KS_nav_views.png');
var blob = f.read();
Po utworzeniu nowego pliku przy użyciu powyższego obiektu blob, nowy plik utworzony w ten sposób nie jest taki sam jak oryginalny plik. Oto mój kod, aby utworzyć nowy plik.
var outputDir = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory,'output');
outputDir.createDirectory();
var newFile = Titanium.Filesystem.getFile(outputDir.nativePath,'outFile.png');
var test = newFile.write(blob);
if (test === false){
Ti.API.debug("Write Error");
}
Ti.API.debug("Write complete? " + test);
Zostaje utworzony plik outFile.png, ale problem polega na tym, że nie jest to prawidłowy plik obrazu. Również rozmiar pliku wynosi około 53 bajty, podczas gdy mój plik wejściowy to 1kb.
Ten sam kod działa dobrze, jeśli użyjemy prostego pliku tekstowego jako danych wejściowych i spróbujemy utworzyć zduplikowany plik wyjściowy.
Hi bsavas, test nie jest logiczna pliku obiektu. również tytan nie ma takiej metody zwanej close on file object. – vaibhav
Rozumiem. Przepraszam, myślałem, że to strumień plików. Może powinieneś spróbować z obiektem FileStream. http://developer.appcelerator.com/blog/2011/05/titanium-mobile-intro-series-streams.html – bsavas
próbowałem, bez powodzenia :( – vaibhav