前端js把图片转换成base64位的后端(C#)怎么转成image保存

JavaScript06

前端js把图片转换成base64位的后端(C#)怎么转成image保存,第1张

string base64Str = "图片的BASE64字符串"

byte[] bytes = System.Convert.FromBase64String(base64Str)

using (System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes))

{

    return System.Drawing.Image.FromStream(ms)

}

ajax只支持如下字符串(String)格式(dataType):

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。

"script": 返回纯文本 JavaScript

代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP

格式。使用 JSONP

形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

不能也必要用ajax技术显示图像。

img预加载示例:

function loadImage(url, callback) {

    var img = new Image() //创建一个Image对象,实现图片的预下载

    img.src = url

     

    if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数

        callback.call(img)

        return // 直接返回,不用再处理onload事件

    }

    img.onload = function () { //图片下载完毕时异步调用callback函数。

        callback.call(img)//将回调函数的this替换为Image对象

    }

}

1. 发起请求页面 //ImageClient.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>ImageRequest</TITLE>

</HEAD>

<BODY>

<img src="http://127.0.0.1:8080/ImageServer.jsp"/>

</BODY>

</HTML>

2. 接受请求并返回结果页 //ImageServer.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>

<%@ page import="java.io.*"%>

<%

     System.out.print("enter...")

     String filePath = "C:/Program Files/Tomcat/Tomcat-7.0.4/webapps/ROOT/ericsson.gif"

File file = new File(filePath)

InputStream fis

try {

fis = new FileInputStream(file)

byte[] buf=new byte[(int)fis.available()]

fis.read(buf)

response.setContentType("application/binarycharset=ISO8859_1")

         OutputStream outs = response.getOutputStream()

         outs.write(buf)

         outs.flush()

         out.clear()

         out = pageContext.pushBody()

} catch (FileNotFoundException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

}

%>

3. 测试结果