Page tree
Skip to end of metadata
Go to start of metadata

1. Requirement

2. Uploading Image (Same for Uploading Videos and Files)

Caution

Among the following codes provided as the guide, file upload part is a sample code and has insufficient security.

As for the file upload, please use the code used within your project and refer the following code to handle the system link.

<?php
try {
    //Upload directory
    $uploadDir = 'uploads/images';

    //Name of the form data
    $fieldName = 'file';

    //File name
    $fileName = explode('.', $_FILES[$fieldName]['name']);

    //Filename extension
    $extension = end($fileName);

    //Temporary file name
    $tmpName = $_FILES[$fieldName]['tmp_name'];

    //File name for the new save
    $newFileName = sha1(microtime());

    //Actual file upload path
    $fileUploadPath = "${uploadDir}/${newFileName}.${extension}";

    //Save the file
    move_uploaded_file($tmpName, $fileUploadPath);

    //Send the response to the client.
    header('Content-Type: application/json');
    echo json_encode(array(
        'uploadPath' => $fileUploadPath,
    ));

} catch (Exception $e) {
    echo $e->getMessage();
    http_response_code(404);
}




3. Importing HWP, MS Word and Excel Documents

Caution

Among the following codes provided as the guide, file upload part is a sample code and has insufficient security.

As for the file upload, please use the code used within your project and refer the following code to handle the system link.

<?php
try {
    // Upload directory
    $uploadDir = 'uploads/docs';


    // Name of the form data
    $fieldName = 'file';

    // File name
    $fileName = explode('.', $_FILES[$fieldName]['name']);

    //Filename extension
    $extension = end($fileName);

    // Temporary file name
    $tmpName = $_FILES[$fieldName]['tmp_name'];

    // File name for the new save
    $newFileName = sha1(microtime());

    // Actual file upload path
    $fileUploadPath = "${uploadDir}/${newFileName}.${extension}";

    // Save the file
    move_uploaded_file($tmpName, $fileUploadPath);

    // Directory name to save conversion result
    $wordDir = 'works';

    // Execute conversion
    $importPath = "${wordDir}/${newFileName}";
    executeConverter($fileUploadPath, $importPath);

    // Serialize document data
	// Since v2.3.0, the file name is changed from document.word.pb to document.pb
    $pbFilePath = "${importPath}/document.pb";
    $serializedData = readPBData($pbFilePath);

    // Send the response to the client.
    header('Content-Type: application/json');
    echo json_encode(array(
        'serializedData' => $serializedData,
        'importPath' => $importPath,
    ));

} catch (Exception $e) {
    echo $e->getMessage();
    http_response_code(404);
}

function executeConverter($inputFilePath, $outputFilePath)
{
    $sedocConverterPath = 'c:/sedocConverter/sedocConverter.exe';
    $fontsDir = 'c:/sedocConverter/fonts';
    $tempDir = 'c:/sedocConverter/tmp';

    $cmd = "${sedocConverterPath} -f ${fontsDir} ${inputFilePath} ${outputFilePath} ${tempDir}";
    exec($cmd);
}


function readPBData($pbFilePath)
{
    $fb = fopen($pbFilePath, 'r');
    $data = stream_get_contents($fb, -1, 16);
    fclose($fb);

    $byteArray = unpack('C*', zlib_decode($data));
	// php 5.4.0 or below
    // $byteArray = unpack('C*', gzuncompress($data));
    $serializedData = array_values($byteArray);

    return $serializedData;
}




  • No labels