从后面的代码发布文件

时间:2012-11-15 01:53:51

标签: asp.net file-upload sitecore

我想从codebehind上传文件。

我想稍微解释一下我的情况。

我现有的代码是..

我有一个文件上传控件。

<asp:FileUpload ID="fuSRForm" runat="server" class="file"/>

然后从代码隐藏中,我检查该控件的条件。

if (fuSRForm.HasFile && (fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("pdf") || fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("application/vnd.openxmlformats-officedocument.wordprocessingml.document") || fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("msword")))

如果符合条件,

我使用Sitecore API上传文件。

这是上传AP​​I的一部分。

                        // 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更改为我的文件。

无论哪种方式,我都被困住了。任何人都可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我不确定你的最终目标是什么。如果我不正确地理解你,也许你可以发布更多代码。但是这里是如何将文件添加到媒体库:Brian Pedersen: Adding a file to the Sitecore Media Library programatically

如果您使用<asp:FileUpload />控件,则可以将文件保存到服务器磁盘,如下所示:

string filePath = Path.Combine(Server.MapPath("~/"), "upload/tempfile.tmp");
FileUpload1.SaveAs(filePath);

然后从我上面提供的链接调用AddFile方法:

AddFile(filePath);

答案 1 :(得分:0)

你需要在你要击中的api中使用处理程序并按

命中它

var images = [] for (var i = 1; i < 50; i++) { images.push(document.getElementById(i)) } // usage console.log(images[4])