使用Java中的Web服务保存图像

时间:2017-06-14 18:27:46

标签: java web-services web

我有一个截图,我从浏览器通过javascript代码转换为字符串(类型)。我需要能够读取此字符串并将其转换为服务器端图像的Web服务。

问题是:

我应该如何创建一个可以从浏览器读取字符串并将其转换为图像到服务器端的Web服务。

代码下方显示

package com.myfirst.wsServer;
import java.io.FileOutputStream;
import java.util.UUID;
import javax.jws.WebService;
import org.apache.commons.codec.binary.Base64;

@WebService
public class ConvertToImage {
/**
     * Convert input string image to image
     * @param imageDataString
     */

public static void StringToImage(String imageDataString){

    try {
        // Converting a Base64 String into Image byte array
        byte[] imageByteArray = decodeImage(imageDataString);

        // Write a image byte array into file system
        FileOutputStream imageOutFile = new FileOutputStream("D:\\" + getNewFileName() + ".png");

        imageOutFile.write(imageByteArray);

        imageOutFile.close();

        System.out.println("Image Successfully Manipulated!");
    } 
    catch (Exception e) {
        // TODO: handle exception
    }
}

/**
 * Encodes the byte array into base64 string
 *
 * @param imageByteArray - byte array
 * @return String 
 */
public static String encodeImage(byte[] imageByteArray) {
    return Base64.encodeBase64URLSafeString(imageByteArray);
}

/**
 * Decodes the base64 string into byte array
 *
 * @param imageDataString
 * @return byte array
 */
public static byte[] decodeImage(String imageDataString) {
    return Base64.decodeBase64(imageDataString);
}

/**
 * Generate uuid an convert to String
 * @return uuid.toString()
 */

public static String getNewFileName(){
    UUID uuid = UUID.randomUUID();

    return uuid.toString();
}
}

欢迎任何问题或建议 谢谢

PS:如果你能帮助我,你对javasvript代码感兴趣,我可以分享它。

0 个答案:

没有答案