前回、画像(JPEG)から位置情報を取得 しましたので、今回はWebサイトにアップロードした画像から位置情報を取得します。

 

1.フォーム(aspx)の作成

ファイル選択用の FileUpload コントロールと送信用の Button コントロールを1個づつ配置し、form の enctype に multipart/form-data を指定したaspxを作成します。

 

サンプルコード(fileupload.aspx)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="getpos.aspx.cs" Inherits="gpsimage_getpos" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data" method="post">
    <div>
        <p><asp:FileUpload ID="FileUpload1" runat="server" /></p>
        <p><asp:Button ID="btnUpload" runat="server" Text="アップロード" EnableViewState="false" onclick="btnUpload_Click" /></p>
        <asp:TextBox ID="textBox1" runat="server" Columns="40" Rows="6" TextMode="MultiLine"></asp:TextBox>
    </div>
    </form>
</body>
</html>

 

2.プログラム(fileupload.aspx.cs)の作成

FileUpload コントロール の InputStream を使用して、Bitmap クラスを作成します。

protected void btnUpload_Click(object sender, EventArgs e)
{
	if (FileUpload1.HasFile)
	{
		HttpPostedFile postFile = Request.Files["FileUpload1"];

		if ((postFile.ContentType.Equals("image/jpeg", StringComparison.OrdinalIgnoreCase)) ||
			(postFile.ContentType.Equals("image/pjpeg", StringComparison.OrdinalIgnoreCase)))
		{
			System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(FileUpload1.PostedFile.InputStream);

			// --------------------------------------------------------
			// 緯度経度を取得する処理
			// --------------------------------------------------------

			// 保存する場合は、SaveAs を使用します。
			string fn = @"c:\temp\upload\" + FileUpload1.FileName;
			FileUpload1.SaveAs(fn);
		}
	}
}

※「緯度経度を取得する処理」の部分は、 画像(JPEG)から位置情報を取得 を参考にしてください。

 

こんな感じで取得できます。

page2

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading