4

您好,我已经完成了一个项目,我可以像下载到 div 一样保存图像,然后右键单击它显示另存为图像,我不想那样做。我想直接下载图像而不是像上面一样我想使用 SQL Server 和 mvc3 Web 应用程序将图像路径保存在数据库中。如何保存在数据库中我需要使用任何服务器端代码。我谷歌它,但找不到任何相关的答案。是否有可能我问过是否有人可以指导我。提前致谢。

下面的代码用于保存图像,我需要更改它。

function downloadCanvas() {
    var canvas = stage.children[0].canvas;
    var oImgPNG = Canvas2Image.saveAsPNG(canvas, true);
    document.body.appendChild(oImgPNG);
  }

当我在 Google 中搜索时,每个人都在使用 php 代码。如何在html5中使用php代码。

4

2 回答 2

1

通过 Ajax 向服务器发送数据,然后保存为图像,

var canvasData = canvas.toDataURL("image/png");
var ajax = new XMLHttpRequest();
ajax.open("POST",'save.php',false);
ajax.setRequestHeader('Content-Type', 'application/upload');
ajax.send(canvasData); 

PHP,

<?php 
if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
    // Get the data
    $imageData=$GLOBALS['HTTP_RAW_POST_DATA'];


    $filteredData=substr($imageData, strpos($imageData, ",")+1);

    $unencodedData=base64_decode($filteredData);

    $random_digit=md5(uniqid(mt_rand(), true));

    $fp = fopen( 'yourfolder/new'.$random_digit.'.png', 'wb' );
    fwrite( $fp, $unencodedData);
    fclose( $fp );
    //Now save the path in database!
}
?>

图像将保存在“yourfolder/new'.$random_digit.'.png'”中。链接到同一个问题,

将照片从 javascript 发送到服务器

于 2013-02-22T07:57:06.977 回答
0

您必须通过对 Web 服务器的 ajax 调用将图像数据发送到服务器,如下所示:

http://www.dotnetfunda.com/articles/article1662-saving-html-5-canvas-as-image-on-the-server-using-aspnet.aspx

然后,根据图像大小,将图像的 URL 存储到 SQL Server(如果是小图像)或存储数据。阅读本文以帮助您做出选择:保存图像 url 或将图像文件保存在 sql 数据库中?

于 2013-02-20T09:02:28.567 回答