Default.aspx.cs
using System;
using System.Drawing;
using System.IO;
using Bytescout.BarCodeReader;
namespace WebTestSharp
{
public partial class _Default : System.Web.UI.Page
{
protected void UploadButton_Click(object sender, EventArgs e)
{
String savePath = @"\uploads\";
if (FileUpload1.HasFile)
{
string virtualFilePath = Path.Combine(savePath, FileUpload1.FileName);
string serverFilePath = Server.MapPath(virtualFilePath);
if (!Directory.Exists(Path.GetDirectoryName(serverFilePath)))
Directory.CreateDirectory(Path.GetDirectoryName(serverFilePath));
FileUpload1.SaveAs(serverFilePath);
Image image = null;
try
{
using (Stream fileStream = File.OpenRead(serverFilePath))
{
image = Image.FromStream(fileStream);
}
}
catch (Exception)
{
}
if (image == null)
{
UploadStatusLabel.Visible = true;
UploadStatusLabel.Text = "Your file is not an image.";
Image1.Visible = false;
ListBox1.Visible = false;
}
else
{
UploadStatusLabel.Visible = false;
Image1.ImageUrl = virtualFilePath;
Image1.Visible = true;
Image1.Width = image.Width;
Image1.Height = image.Height;
ListBox1.Items.Clear();
ListBox1.Visible = true;
FindBarcodes(serverFilePath);
if (ListBox1.Items.Count == 0)
ListBox1.Items.Add("No barcodes found");
}
}
else
{
// Notify the user that a file was not uploaded.
UploadStatusLabel.Text = "You did not specify a file to upload.";
}
}
private void FindBarcodes(string fileName)
{
Reader reader = new Reader();
// Limit search to 1D barcodes only (exclude 2D barcodes to speed up the search).
// Change to reader.BarcodeTypesToFind.SetAll() to scan for all supported 1D and 2D barcodes
// or select specific type, e.g. reader.BarcodeTypesToFind.PDF417 = True
reader.BarcodeTypesToFind.SetAll1D();
// reader.MediumTrustLevelCompatible = true; // uncomment this line to enable Medium Trust compatible mode (slows down the recognition process as direct image data access is disabled in Medium Trust mode)
reader.ReadFromFile(fileName);
foreach (FoundBarcode barcode in reader.FoundBarcodes)
{
ListBox1.Items.Add(String.Format("{0} : {1}", barcode.Type, barcode.Value));
}
}
}
}
Web.config
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
Click here to get your Free Trial version of the SDK
also available as: