Asp.net 从codebehind发布文件
我想从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
<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);