Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#.net或ASP.net错误?_C#_Asp.net - Fatal编程技术网

C#.net或ASP.net错误?

C#.net或ASP.net错误?,c#,asp.net,C#,Asp.net,大家早上好/下午好,我一直在测试vin扫描器BarcodeLib,最后使用visual studio 2012使其正常工作 在我将图像硬编码到阅读器之前 string[] results = BarcodeReader.read(@"C:/scan/image.jpg", BarcodeReader.CODE39); 但是现在因为我想在我的asp中使用输入类型,所以它停止显示结果 我的问题是,为什么它在这一点上什么都不输出 我的想法是,也许是if声明 这里是编码 namespace testW

大家早上好/下午好,我一直在测试vin扫描器
BarcodeLib
,最后使用visual studio 2012使其正常工作

在我将图像硬编码到阅读器之前

string[] results = BarcodeReader.read(@"C:/scan/image.jpg", BarcodeReader.CODE39);
但是现在因为我想在我的asp中使用
输入类型
,所以它停止显示结果

我的问题是,为什么它在这一点上什么都不输出

我的想法是,也许是if声明

这里是编码

namespace testWebBarcode
{
      protected void bnvinoneclick_Click(object sender, EventArgs e)
        {
           HttpPostedFile fileImage = Request.Files["FileUpload"];

            if (fileImage != null && fileImage.ContentLength > 0)
             {
               string imageFileName = Path.GetFileName(fileImage.FileName);

                //reads barcode (@"filename", BarcodeReader.TypeBarcode)
                string[] results = BarcodeReader.read(imageFileName, BarcodeReader.CODE39);
                string answer = string.Empty;
                for (int i = 0; i < results.Length; i++)
                     {
                       answer = results[i];
                     }
               string finalVin = "The vin is: " + answer;
               lblvin.Text = finalVin;
             }

        }

}
命名空间testWebBarcode
{
受保护的void bnvinoneclick\u Click(对象发送方,事件参数e)
{
HttpPostedFile fileImage=Request.Files[“FileUpload”];
if(fileImage!=null&&fileImage.ContentLength>0)
{
字符串imageFileName=Path.GetFileName(fileImage.FileName);
//读取条形码(@“filename”,BarcodeReader.TypeBarcode)
string[]results=BarcodeReader.read(imageFileName,BarcodeReader.CODE39);
string-answer=string.Empty;
for(int i=0;i


函数readURL()
{
document.getElementById(“”)。单击();
}

感谢您抽出时间回顾我的问题,如果您在第一个“工作”示例中回答了我的问题,您正在使用文件系统路径读取图像(即从文件系统读取文件)

在第二个示例中,您从
HttpPostedFile
对象传入文件名。您需要在此处读取输入流的内容-我猜条形码读取方法试图在文件系统中查找文件,但无法

读取
HttpPostedFile
输入流的内容,然后将其保存到磁盘,如果不能简单地将字节数组传递给条形码库的读取方法,则从磁盘读取


您可能会发现,
fileImage.FileName
为您提供了上的文件名,因此您无法在服务器中使用它(请注意,.NET代码在服务器端而不是客户端执行)。而您可能想要的是:

  • 用户从C:\MyFiles\uploadme.jpg上传文件(这是您在代码中使用
    FileName
    属性时可能得到的路径)
  • 您将文件保存到服务器(例如,保存到
    D:\\UploadedImages
    文件夹或类似文件夹)
  • 文件保存到服务器后,即可使用该文件

  • 我建议保存它(参见示例),然后将保存它的路径(考虑到它现在是“服务器”路径而不是客户机路径)传递到
    条形码
    方法

    我只是没有得到任何错误。所以我不能完全肯定。我将再次浏览该网站,看看是否有什么东西吸引了我的眼球。哇,所以当时我只是错过了几步。感谢您的链接不是问题,如果问题解决了您的问题,请将问题标记为已回答(并将其作为提示发送给其他有相同问题的人)
    <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="testWebBarcode._Default" %>
    
    <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
       <script type="text/javascript">
           function readURL() 
              {
    
               document.getElementById('<%=bnvinoneclick.ClientID%>').click();
              }
    
       </script>
    
    
    </asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    
        <p>
            <asp:Label ID="lblvin" runat="server" Text=""></asp:Label>
        </p>
        <p>
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        </p>
        <p>
    
           <input type="file" accept="image/*" runat="server" id="FileUpload" onchange="readURL();" />
    
    
    
            <asp:Button ID="bnvinoneclick" runat="server" Text="Check vin" 
                onclick="bnvinoneclick_Click" />
                </p>
    
    </asp:Content>