?
Solved

SharePoint and httpHandler for specific file extension

Posted on 2010-11-22
1
Medium Priority
?
1,350 Views
Last Modified: 2012-05-10
Hi
I would like to add to SharePoint a httpHandler for specific file extension.
For example for the file extension ".pdf", in case pdf document was opened from my SharePoint site, I would like to show "Hello PDF" in the browser, otherwise (for other documents) I would like to have the regular behavior.
I need help to understand how to implement that.
anyone ?
Thanks...
0
Comment
Question by:netformx
1 Comment
 
LVL 1

Accepted Solution

by:
kahkshan earned 2000 total points
ID: 34308670
I am assuming that you already have WSS/MOSS installed on your system and you are using Visual Studio 2008.

1. Download and install VSeWSS (Visual Studio Extensions for WSS)
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=B2C0B628-5CAB-48C1-8CAE-C34C1CCBDC0A&displaylang=en

2. Create new project and select SharePoint group on the left. Then select Empty from the templates (make sure SharePoint group of template is selected). Name the project "MyTest". (that means, this is also going be your assembly name). Select "Partial Trust" when it asks.

3. Add new class, say "MyNewHandler".

4. Inherit the new class from "System.Web.IHttpHandler".

5. Right click on the "System.Web.IHttpHandler" and click "Implement".

6. Modify your code to look like the following:
 
public bool IsReusable
{
     get { return false; }
}

public void ProcessRequest(HttpContext context)
{
     context.Response.Write("test pdf");    
}

Open in new window


7. Right click your project and select "Deploy". (If you have trouble deploying it, see following post:
http://tahiridrees.blogspot.com/2010/12/vsewss-http-request-is-unauthorized.html)
(If it gives error "VSeWSS Service Error: No SharePoint Site exists at the specified URL" then in VS, go to Project Properties and select "Debug" tab and enter your sharepoint site URL where it should deploy)
NOTE: The Deploy will copy your dll in the bin folder of the sharepoint application.

8. Now open your sharepoint site's Web.Config file. Your site would be in the "C:\Inetpub\wwwroot\wss\VirtualDirectories" folder and Web.Config should be within it. Open it in Visual Studio.

9. Look for <httpHandlers> section and add your handler in there like this:
<add verb="*" path="*.ext" type="MyTest.MyNewHandler, MyTest"/>

10. Access your sharepoint site and write "http://yourspsite/testingextension.ext"
Note that the "ext" is the extension you entered while registering the handler in the sharepoint web app in step 9.

Hope that helps...
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

We had a requirement to extract data from a SharePoint 2010 Customer List into a CSV file and then place the CSV file into a directory on the network so that the file could be consumed by an AS400 system. I will share in Part 1 how to Extract the Da…
I tried to use the SharePoint app to Import a Spreadsheet and import an Excel sheet into a Team site made in SharePoint 2016. But that just resulted in getting an error message 'Unknown Error'...
The video will let you know the exact process to import OST/PST files to the cloud based Office 365 mailboxes. Using Kernel Import PST to Office 365 tool, one can quickly import numerous OST/PST files to Office 365. Besides this, the tool also comes…
Watch the video of Kernel Migrator for SharePoint, which demonstrate the process easily of migration from SharePoint to SharePoint, OneDrive for Business & Google Drive servers, Public Folder to SharePoint, File Server to SharePoint. The tool has va…

569 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question