通过c#编码将代码从asp fileupload转换为输入类型文件

时间:2012-05-07 07:38:25

标签: sharepoint input directory input-type-file

Need help to convert code from asp control to input type to fetch file name and file bytes.
Below are the code with asp control.
ascx Page:


 <asp:FileUpload ID="fileUp" runat="server" EnableViewState="true" class="tdFileUpload" />

ascx.cs code is given below


 using (SPSite site = new SPSite(siteId))
                    {
                        using (SPWeb web = site.OpenWeb(WebId))
                        {
                            web.AllowUnsafeUpdates = true;
                            string siteurl = SPContext.Current.Web.Url;
                            SPDocumentLibrary library;
                            library = (SPDocumentLibrary)web.Lists["Project_Artifacts"]; /fetches the library list name.
                            library.EnableVersioning = true;
                            library.Update();
                            SPFolder folder = web.Folders.Add(siteurl + "/Project_Artifacts/" + drpPrj.SelectedItem.Value);//creates a folder of selected item name                                 

web.Update(); //创建文件夹后更新网页                                 folder.Files.Add(folder.Url +“/”+ fileUp.FileName,fileUp.FileBytes); //我想根据我的新要求改变这行代码如何在这两个提到的地方获得这两个值 1. fileUp.FileName 2. fileUp.FileBytes

                            folder.Update();
                            web.Update();
    }
    }

The current requirement is : 
ascx page code:


   <div id="FileUpload">
                                                                <input type="file" size="24" id="fileUp"
                                                                 onchange="getElementById('FileField').value = getElementById('fileUp').value;" />
                                                                 <div id="BrowserVisible">
                                                                    <input type="text" id="FileField" name="FileField1"/>

Hope you can figure out the ascx page code difference.
ascx.cs Page code:

folder.Files.Add(folder.Url +“/”+ fileUp.FileName,fileUp.FileBytes);

I want to change this line of code with the correct line of code which i am unable to do.
Please help.Thanks in advance

1 个答案:

答案 0 :(得分:0)

嗨,我得到了答案。 替换

folder.Files.Add(folder.Url + "/" + fileUp.FileName, fileUp.FileBytes);

string fileFieldPathValue = Request.Form["fileFieldPath"].ToString(); 
string fileName = System.IO.Path.GetFileName(fileFieldPathValue); 
var bytes = System.IO.File.ReadAllBytes(fileFieldPathValue); 
folder.Files.Add(folder.Url + "/" + fileName, bytes); 

对我而言,它完美无缺。

相关问题