c# - 使用 Twitter Bootstrap、C#、asp.net 和 javascript 上传文件

标签 c# javascript asp.net file-upload twitter-bootstrap

链接到 Jasny http://jasny.github.com/bootstrap/javascript.html#fileupload

链接到表格的样子 http://img507.imageshack.us/img507/3308/picpx.png

我在我的 Bootstrap 项目中使用 Jasny Javascript 文件上传,它看起来像这样:

ASP\HTML View

<div class="row-fluid">
<div class="fileupload fileupload-new" data-provides="fileupload"><input type="hidden">
<div class="input-append">
<div class="uneditable-input span2" runat="server" id="statment1"><i class="icon-file  
fileupload-exists"></i> <span class="fileupload-preview" style=""></span></div><span 
class="btn btn-file"><span class="fileupload-new">Select file</span><span 
class="fileupload-exists">Change</span><input type="file"></span><a href="#" class="btn 
fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>

我如何在后面的代码中使用它来将附加文件保存到我的服务器,就像我使用 C# asp.net 文件上传一样?

在 ASP.net C# 中,我通常会在后面的代码中这样做:

ASP.net C# 代码隐藏

string filename = FileUpload1.PostedFile.FileName;
FileUpload1.PostedFile.SaveAs(Path.Combine(Server.MapPath("\\Document"), 
filename).ToString());
                filelocation = "Document\\" + filename;
                media = "Document";

Jasny github 解释了如何使用 bootstrap 设置布局,这很棒,因为它看起来非常好(比无聊的 asp 文件上传好得多)但是我如何真正让我在我的按钮点击时发布?我真的很想让它工作,因为我认为它看起来好多了。

最佳答案

由于您想要在没有标准的 asp.net 控件的情况下执行此操作,因此您将必须执行一些 asp.net 为您完成的连接。

确保您的输入有一个 ID。我将在此处将其设置为 myFile。

<div class="row-fluid">
    <div class="fileupload fileupload-new" data-provides="fileupload"><input type="hidden">
        <div class="input-append">
            <div class="uneditable-input span2" runat="server" id="statment1">
                <i class="icon-file fileupload-exists"></i> 
                <span class="fileupload-preview" style=""></span>
            </div>
            <span class="btn btn-file"><span class="fileupload-new">Select file</span>
            <span class="fileupload-exists">Change</span><input id="myFile" type="file" runat="server">
            </span>
            <a href="#" class="btn fileupload-exists" data-dismiss="fileupload" >Remove</a>
        </div>
    </div>
</div>

您的页面现在应该有一个 HtmlInputFile 控件到您的页面。像这样:

protected HtmlInputFile myFile;

然后你应该能够接收文件:

if (IsPostBack)
{
    if (myFile.PostedFile != null)
    {
        // File was sent
        var postedFile = myFile.PostedFile;
        int dataLength = postedFile.ContentLength;
        byte[] myData = new byte[dataLength];
        postedFile.InputStream.Read(myData, 0, dataLength);
    }
    else
    {
        // No file was sent

    }
}

关于c# - 使用 Twitter Bootstrap、C#、asp.net 和 javascript 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135529/

相关文章:

c# - 我是否必须处理不使用的退回对象?

c# - 如何获取 Windows 应用商店应用程序的本地网络 IP 地址

javascript - 从当前组中删除类

javascript - 带 Webpack 的 React-Bootstrap 无法在 React-starter-kit 中运行

c# - 如何使用 EF 在我的 asp.net core 3.1 MVC 应用程序中正确使用我的 SQLite db?

c# - Get 方法抛出 Request.Path 异常

javascript - 当我不是node.exe的调用者时,如何在Windows上的nodejs中调试javascript

c# - 在 ASP.Net 中,在 system.web.caching 中存储 int 的最佳方式是什么?

asp.net - 如何设置 asp.net 下拉列表的样式

c# - 为什么仅在调试时才引发跨线程异常?