Вопрос

Я пытался отправить NSString через WiFi, и он работает без ошибок.Для NSString я использовал NSUTF8StringEncodingin и сторона сервера iOS и Java.

Теперь я хочу отправить NSData (изображения) через Wi-Fi на мой Java-сервер.Я собираюсь использовать этот код для отправки изображения на Java Server.

NSData *newData = UIImagePNGRepresentation([UIImage imageNamed:@"Default.png"]);
    int index = 0;
    int totalLen = [newData length];
    uint8_t buffer[1024];
    uint8_t *readBytes = (uint8_t *)[newData bytes];

    while (index < totalLen) {
        if ([outputStream hasSpaceAvailable]) {
            int indexLen =  (1024>(totalLen-index))?(totalLen-index):1024;

            (void)memcpy(buffer, readBytes, indexLen);

            int written = [outputStream write:buffer maxLength:indexLen];

            if (written < 0) {
                break;
            }

            index += written;

            readBytes += written;
        }
    }
.

Мой вопрос в том, могу ли я прочитать nsdata на java-сервере?Если я не могу, что такое решение?Должен ли я использовать метод кодирования? А также может ли кто-нибудь дать мне образец кода Java-сервера для чтения nsdata или изображения как-то ....

Это было полезно?

Решение

private void saveFile(Socket socket, File receivingFile) {
        try {
            FileOutputStream wr = new FileOutputStream(receivingFile);
            byte[] buffer = new byte[socket.getReceiveBufferSize()];
            int bytesReceived = 0;

            while ((bytesReceived = socket.getInputStream().read(buffer)) > 0) {
                wr.write(buffer, 0, bytesReceived);
            }
            wr.close();
            setLogMessege("SaveFile", "File Written");
            socket.close();
        } catch (IOException e) {
            try {
                socket.close();
            } catch (IOException ex) {
                Logger.getLogger(AcceptCameraImages.class.getName()).log(Level.SEVERE, null, ex);
            }
            setLogMessege("SaveFile", e.getMessage());
        }`enter code here`
.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top