Asp.net 从codebehind发布文件

Asp.net 从codebehind发布文件,asp.net,file-upload,sitecore,Asp.net,File Upload,Sitecore,我想从codebehind上传一个文件 我想解释一下我的情况 我现有的代码是 我有一个文件上传控件 <asp:FileUpload ID="fuSRForm" runat="server" class="file"/> 如果符合条件, 我使用SiteCoreAPI上传文件 这是上传API的一部分 // creating necessary arguments to be passed to the processor

我想从codebehind上传一个文件

我想解释一下我的情况

我现有的代码是

我有一个文件上传控件

<asp:FileUpload ID="fuSRForm" runat="server" class="file"/>
如果符合条件,

我使用SiteCoreAPI上传文件

这是上传API的一部分

                        // creating necessary arguments to be passed to the processor
                        UploadArgs args = new UploadArgs();

                        // adding http files collection
                        args.Files = base.Request.Files;
因此,API通过使用
base.Request.files


我的新情况是,当用户单击
Submit
时,我创建了一个pdf文件

然后我将其保存在名为
asyncupload

之后,我必须使用相同的API将其上传到
Sitecore

因此,我尝试将
base.Request.Files
更改为我的文件

但我无法改变这一点

因此,我必须使用
FileUpload
控件上载我的文件

            FileUpload tempFU = new FileUpload();
            tempFU.PostedFile= ????
            args.Files = base.Request.Files;
我被困在这里了。我可以从代码隐藏中发布我的文件,也可以将
base.Request.Files
更改为我的文件


不管怎样,我都被卡住了。有人能解决这个问题吗?

我不确定你的最终目标是什么。如果我理解不正确,也许你可以发布更多的代码。但以下是如何将文件添加到媒体库:

如果您使用的是
控件,则可以按如下方式将文件保存到服务器磁盘:

string filePath = Path.Combine(Server.MapPath("~/"), "upload/tempfile.tmp");
FileUpload1.SaveAs(filePath);
然后从上面提供的链接调用
AddFile
方法:

AddFile(filePath);

您需要在将要使用的api中使用处理程序

使用(WebClient=newWebClient())
{
UploadFile(Sitecore处理程序,文件路径);

}

我对这里的最终目标有点困惑。您有一个FileUpload控件,这意味着用户正在上载文件。那你为什么又要“上传”它呢?这对我来说毫无意义。。。它已经在服务器上,您将把它上传到哪里?是否要创建媒体库项目?
AddFile(filePath);