使用Twitter Bootstrap,C#,asp.net和javascript上传文件

Aud*_*udo 6 javascript c# asp.net file-upload twitter-bootstrap

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

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

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

ASP\HTML视图

<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>
Run Code Online (Sandbox Code Playgroud)

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

在ASP.net C#中我通常会在后面的代码中执行此操作:

ASP.net C#CodeBehind

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

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

nun*_*cal 9

由于您希望在没有标准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>
Run Code Online (Sandbox Code Playgroud)

您的页面现在应该可以HtmlInputFile控制您的页面.像这样:

protected HtmlInputFile myFile;
Run Code Online (Sandbox Code Playgroud)

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

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

    }
}
Run Code Online (Sandbox Code Playgroud)

  • 辉煌!很好地解释,我现在有点傻了,我觉得它会比那更难. (2认同)