Unable to Attach file for list item using SP.File CopyTo Method

Requirement: I have a document library and list, the requirement is i need to take a document from document library and attach to list item in the list using CSOM only.
Followed technique: to achieve this requirement i followed below methodology
clientContext = SP.ClientContext.get_current();            
                webSite = clientContext.get_web();
                webSite.AllowUnsafeUpdates =true;
                var list = webSite.get_lists().getByTitle('Documents');
                item = list.getItemById(3);
                file = item.get_file();
                file.checkOut('Comments',1);
                file.copyTo("xxxxxxx/Lists/Student/Attachments/4/mahesh.docx","1"); 
file.checkIn('Comments',1);
                clientContext.load(file );
                clientContext.executeQueryAsync(Function.createDelegate(this, this.OnLoadSuccess), Function.createDelegate(this, this.OnLoadFailed));      
Issue: This functionality is absolutely working fine when list item contains at least one attachment, if list item doesn't have any attachments the code is failing. i tried web.AllowUnsafeUpdates also but not working.
Could anyone please help me on this.... :(
Thanks in Advance!
Regards,
Mahesh Yamana
Mahesh@SharepointSolutions

Hi SK,
Thank you for your reply!
We are not allowed to use Visual Studio and the same thing we can use in JavaScript, but file stream takes path as one parameter which is physical location of your file system. When you use it some times users might not have access to the file system then
our code fails.
Regards,
Mahesh Yamana
Mahesh@SharepointSolutions

Similar Messages

  • Get value from fields for list items using CSOM SP 2013 and C#

    Hi.
    I added a few columns (e.c. Column1, Column2 and ...) for the List in SP 2013. In the List there are a few records. How to get data entry and display them in a table. For example:
    ClientContext ctx = new ClientContext(ServerUrl);
    List lists = ctx.Web.Lists.GetByTitle(List_name);
    ListItemCollection items = lists.GetItems(CamlQuery.CreateAllItemsQuery());
    ctx.Load(lists);
    ctx.Load(items);
    ctx.ExecuteQuery();
    DataTable table = new DataTable();
    table.Columns.Add("ID");
    table.Columns.Add("FieldValue1");
    table.Columns.Add("FieldValue2");
    foreach (ListItem item in items)
    table.Rows.Add(item.ID, item["Column1"], item["Column2"]);
    Thanks!

    Hi,
    Thanks for your sharing. It will help others who stuck with the similiar issue.
    Best Regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Get list items using spservices for sharepoint 2013

    Hi,
    I have a requirement like below.
    I have 2 sharepoint custom list with some columns.
    List1:listA
    List2:listB
    Now when i open the listB new item form i want some of the field values from listA should auto populate in Textboxes of listB new form.
    Is there any ways to implement this?
    Regards,
    Poovi

    Hi Poovi,
    You can achieve this using jQuery to get the SharePoint list items. Refer the below articles. It has explained how to get list items using jQuery and auto populate a text-box from a list item as a source.
    You can put this code in list forms through SharePoint Designer. The articles explain about auto populating text box of web part but similarly you can implement it for list form, because nevertheless the text boxes are same.
    http://www.c-sharpcorner.com/UploadFile/sagarp/sharepoint-2010-jquery-autocomplete-textbox-containing-list/
    http://tomvangaever.be/blogv2/2011/07/sharepoint-2010-autocomplete-with-list-items/
    Please remember to click 'Mark as Answer' if the reply answers your query or 'Upvote' if it helps you.

  • SharePoint 2010 Rest API: How to add attachment to a list item via ListData.svc

    Hi
    I have set up a project using the REST API in c# Visual Studio 2010.
    I have added a service reference to the URL //site/_vti_bin/listdata.svc/
    I can query the list and get back data, but I can't retrieve the attachments.
    I can write data to the list, but I can't add attachments.
    Are there any examples of how to add or retrieve attachments using the REST API services.
    Thanks
    Mike

    Hi,                                                             
    If you want to work with list attachments using REST API, here are some links will show how to do this using Javascript:
    http://msdn.microsoft.com/en-us/library/office/dn292553.aspx#FileAttachments
    http://chuvash.eu/2013/02/20/rest-api-add-a-plain-text-file-as-an-attachment-to-a-list-item/
    http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/06/27/how-to-get-list-item-attachments-using-rest-and-javascript-in-sharepoint-2013.aspx
    Best regards
    Patrick Liang
    TechNet Community Support

  • Workflow for list item cancels

    Hello!
    I create item in PWA list via timer procedure (c#).
    I have a workflow configured in SPD on item creation.
    In timer code I open a web from definet user, so item in list creates without any problem (author - this definite user), but workflow stops immediately with error:
    RequestorId: 47da81b9-1361-8e8e-2f05-c8376aa8939c. Details: System.ApplicationException: HTTP 401 {"x-ms-diagnostics":["3001000;reason=\"There has been an error authenticating the request.\";category=\"invalid_client\""],"SPRequestGuid":["47da81b9-1361-8e8e-2f05-c8376aa8939c"],"request-id":["47da81b9-1361-8e8e-2f05-c8376aa8939c"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"SPRequestDuration":["29"],"SPIisLatency":["1"],"Cache-Control":["private"],"WWW-Authenticate":["Bearer
    realm=\"2185ffaf-5b35-41d5-89ac-85ba7fd54a3a\",client_id=\"00000003-0000-0ff1-ce00-000000000000\",trusted_issuers=\"00000005-0000-0000-c000-000000000000@*,[email protected]7fd54a3a\"","NTLM"],"X-AspNet-Version":["4.0.30319"],"X-Powered-By":["ASP.NET"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1;
    RequireReadOnly"],"MicrosoftSharePointTeamServices":["15.0.0.4420"],"Date":["Fri, 12 Sep 2014 08:01:33 GMT"]} {"error_description":"The server was unable to process the request due to an ...
    When I run code with elevated privileges, workflow runs without error, but from system account (it looks like this, because workflow can't create Project from item and it creates tasks as Workflow, not as "Workflow from user").
    User profiles servises are running, I can find profile for user in central admin and c I can run full sync.
    I also have restarted IIS for1000s times...
    Help me please, how can I run workflow from specific user (I gave him even app admin permissions, but it still doesn't work)?
    From LOGS:
    The set of claims could not be mapped to a single user identity. Exception 3001002...
    The registered mappered failed to resolve to one identity claim...
    STS Call Claims Saml: Problem getting output claims identity...

    Hello!
    I have found solution.
    I have study dozen forums and sites about SP and this one
    http://stackoverflow.com/questions/6382583/use-credentials-to-interact-with-the-client-object-model-of-sharepoint gave me an idea.
    I had to rewrite my code. I set 
    using (ClientContext context = new ClientContext("http://yourserver/")) {
    context.Credentials = new NetworkCredential("user", "password", "domain");//here my code for list item creation}
    instead of 
    SPSite spsite = new SPSite(siteUrl, spusertoken);
    SPWeb web = spsite.OpenWeb();
    // and so on
    So, now SP has no problem with fiding initiator profile and workflows starts correctly automatically after an item was created.
    Maybe this solution could save somebody's day.
    Kate.

  • No list elements defined for list item.

    hi master
    when i use list item and run then give this error
    FRM-30351: No list elements defined for list item.
    List PRODUCT_NO
    Created form file MODULE1.fmx

    Try posting your question to Forms

  • How to update 500 list items using Rest API

    Hi All,
    i have requirement that is "required to update 500 list items using rest Api".
    how can i do it,please share your thoughts with me.
    Thanks,
    Madhu.

    Didn't get you correctly, if you asking reference for REST API to update list items please refer below links
    http://msdn.microsoft.com/en-us/library/office/jj164022(v=office.15).aspx
    Destin -MCPD: SharePoint Developer 2010, MCTS:SharePoint 2007 Application Development

  • Rating a List Item using jquery with out using User profile service

    Hi,
    I dont have access to Central admin and i was not not able to enable USer profile service.
    can i rate a list item in Sharepoint 2010 using any jquery plugin
    i got the link
    http://blogs.msdn.com/b/carloshm/archive/2009/08/24/jquery-rating-in-sharepoint-lists.aspx
    But i am not able to find any plugin in it.
    Please advice.
    Thnaks,
    Pallavi

    Hi,
    According to your post, my understanding is that you wanted to rate a list item using JQuery in SharePoint 2010.
    The link you had posted above is for SharePoint 2007.
    You can refer to the following articles which about using the JQuery to call the rating service.
    http://blog.dennus.net/2011/08/09/using-spservices-and-jquery-to-include-social-rating-control-on-_layouts-page/
    https://www.habaneroconsulting.com/insights/Calling-the-Rating-Service-using-jQuery-in-SharePoint-2010-Part-1-of-2#.UxbQxvmSz6k
    You can also use the tool of the CodePlex to achieve it.
    http://sptoolbasket.codeplex.com/
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • How to update list item using client object model without changing created/modified dates?

    Hello All,
    I want to update list item using the SharePoint Client Object
    Model without updating the created / modified date. Is it possible?
    Please help.
    Thanks.

    Using the SystemUpdate method should do the trick, according
    to its literature.
    Additionally, would something like this be of any use for you?  Taken from this
    Stack Exchange thread: -
    public static class SPListItemExtensions
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void Update(this SPListItem item, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.Update();
    finally
    rh.EnableEventFiring();
    else
    item.Update();
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="incrementListItemVersion"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void SystemUpdate(this SPListItem item, bool incrementListItemVersion, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.SystemUpdate(incrementListItemVersion);
    finally
    rh.EnableEventFiring();
    else
    item.SystemUpdate(incrementListItemVersion);
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void SystemUpdate(this SPListItem item, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.SystemUpdate();
    finally
    rh.EnableEventFiring();
    else
    item.SystemUpdate();
    private class SPItemEventReceiverHandling : SPItemEventReceiver
    public SPItemEventReceiverHandling() { }
    new public void DisableEventFiring()
    base.DisableEventFiring();
    new public void EnableEventFiring()
    base.EnableEventFiring();
    Steven Andrews
    SharePoint Business Analyst: LiveNation Entertainment
    Blog: baron72.wordpress.com
    Twitter: Follow @backpackerd00d
    My Wiki Articles:
    CodePlex Corner Series
    Please remember to mark your question as "answered" if this solves (or helps) your problem.

  • Create List Item using REST API

    Hi All
      I try create list item using REST in SharePoint 2013.  when code is try add new item in list , getting error :
    A node of type 'EndOfInput' was read from the JSON reader when trying to read the start of an entry. A 'StartObject' node was expected.
    Please help me
    function addData() {
    var title = $('#txtTitile').val();
    //alert(title);
    var items = {
    __metadata: { "Type": "SP.Data.OrderDetailsListItem"},
    Title:title
    var exec = new SP.RequestExecutor(appweburl);
    exec.executeAsync(
    url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('OrderDetails')/Items?@target='" + hostweburl + "'",
    method: "POST",
    data: JSON.stringify(items),
    headers: {
    Accept: "application/json;odata=verbose",
    "Content-Type": "application/json;odata=verbose",
    "X-RequestDigest": $("#__REQUESTDIGEST").val()
    success: function (data) { alert(JSON.parse(data)); },
    error: function (error)
    { alert(JSON.stringify(error)); }
    with Regards Sivam

    Hi,                                                             
    Here is a demo which works in my environment for your reference:
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function()
    $("#Button1").click(function(){
    createListItemWithDetails("list2", "http://sp2013sps", "item1");
    // Getting the item type for the list
    function GetItemTypeForListName(name) {
    //alert("GetItemTypeForListName: "+name);
    return"SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem";
    // CREATE Operation
    // listName: The name of the list you want to get items from
    // siteurl: The url of the site that the list is in. // title: The value of the title field for the new item
    // success: The function to execute if the call is sucesfull
    // failure: The function to execute if the call fails
    function createListItemWithDetails(listName, siteUrl, title) {
    var itemType = GetItemTypeForListName(listName);
    //alert("itemType :"+itemType);
    var item = {
    "__metadata": { "type": itemType },
    "Title": title
    $.ajax({
    url: siteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items",
    type: "POST",
    contentType: "application/json;odata=verbose",
    data: JSON.stringify(item),
    headers: {
    "Accept": "application/json;odata=verbose",
    "X-RequestDigest": $("#__REQUESTDIGEST").val()
    success: function (data) {
    location.href=location.href;
    //success(data);
    error: function (data) {
    alert("error");
    //failure(data);
    </script>
    <input id="Button1" type="button" value="Run Code"/>
    Best regards
    Patrick Liang
    TechNet Community Support

  • Reading list items using JQeury

    Hi All,
    I am new to JQuery. Please help me on reading the ListItems(for eg., title, name, location etc.,) using JQeury & wanted to display this data in a site page.
    Let me know if you have any queries.
    Thanks,
    Kumar.

    check this article on using REST and Jquery to get list items
    http://www.plusconsulting.com/blog/2013/05/crud-on-list-items-using-rest-services-jquery/
    you can use JSOM as well
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/8dda0580-c632-4c1b-92f0-59e1a3f29e5b/jquery-fetch-data-from-sharepoint-list-in-a-webpart
    My Blog- http://www.sharepoint-journey.com|
    If a post answers your question, please click Mark As Answer on that post and Vote as Helpful

  • Add list item using anonymous user in public website of shareopint 2013 office 365

    Can any body know the solution to over come of following error while add list item using anonymous user using CSOM in shareopint 2013 office 365 public website.
    I have tried following solution to narrow down the error from "Access permission"
    http://sharepointtaproom.com/2014/08/28/anonymous-api-access-for-office-365-public-sites/#comment-2304

    Try below:
    http://www.codeproject.com/Articles/785099/Publish-a-Form-for-Anonymous-Users-on-a-Public-Sit
    http://blogs.technet.com/b/sharepointdevelopersupport/archive/2013/06/13/how-to-allow-anonymous-users-to-add-items-to-sharepoint-list-using-client-object-model.aspx
    // Allows AddItem operation using anonymous access
    private
    static voidAllowAnonAccess(){
    Console.WriteLine("Enabling Anonymous access....");
    SPWebApplication webApp =
    SPWebApplication.Lookup(new
    Uri(webAppUrl));
                webApp.ClientCallableSettings.AnonymousRestrictedTypes.Remove(typeof(Microsoft.SharePoint.SPList),
    "GetItems");
                webApp.ClientCallableSettings.AnonymousRestrictedTypes.Remove(typeof(Microsoft.SharePoint.SPList),
    "AddItem");
                webApp.Update();
    Console.WriteLine("Enabled Anonymous access!");  
    // Revokes Add/Get Item operation using anonymous access
    private static
    voidRemoveAnonAccess(){
    Console.WriteLine("Disabling Anonymous access....");
    SPWebApplication webApp =
    SPWebApplication.Lookup(new
    Uri(webAppUrl));
                webApp.ClientCallableSettings.AnonymousRestrictedTypes.Add(typeof(Microsoft.SharePoint.SPList),
    "GetItems");
                webApp.ClientCallableSettings.AnonymousRestrictedTypes.Add(typeof(Microsoft.SharePoint.SPList),
    "AddItem");
                webApp.Update();
    Console.WriteLine("Disabled Anonymous access!"); 
    http://www.fiechter.eu/Blog/Post/12/Create-a-survey-for-anonymous-users-on-Office-365
    If this helped you resolve your issue, please mark it Answered

  • Filter SharePoint list items using CAML query as same as Like operator in SQL Server.

    Hi ,
    I have filtered SharePoint list items based on Name using CAML query <Contains> . Now I have a new requirement is to filter list items using Like operator in SQL. But Like operator is not in CAML.
    How do I filter list items using CAML as same as Like operator in SQL.
    Please let me know.
    Thanks in Advance.

    Did you try using <Contains>?
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/15766fd5-50d5-4884-82a1-29a1d5e38610/caml-query-like-operator?forum=sharepointdevelopmentlegacy
    --Cheers

  • Tutorial on how to update list items using ListData.svc

    Can you please point me to a tutorial which shows how to update a list item using listdata.svc and C#?
    Sorry if this is FAQ.
    I have found articles on read list... but I haven't found anything on update a list item.
    val it: unit=()

    when i try this I get an error 500
    I created an ASP.NET web application that allows the user to modify data that is stored in SharePoint I rather not go into the reasons why this application was created but focus more on why doesn't the listdata.svc allow me to update a task item that was
    created by a workflow collect data from user action.
    1. The workflow creates the item.
    I collect the item and update the item using the below code. This is not an OOTB approval workflow that is just the name I used. When I get to save changes I received the following error code.
    Dim getApprovalItem As ExpenseApprovalRuleBasedTasksItem = spContext.ExpenseApprovalRuleBasedTasks.Where(Function(i) i.Id = Pam.ApprovalItemID).FirstOrDefault
    If String.IsNullOrEmpty(getApprovalItem.AuditorApprovalValue) Then
    getApprovalItem.AuditingComments = approvalComments
    Select Case approvalDecision
    Case "Approved"
    getApprovalItem.AuditorApproval = ExpenseApprovalRuleBasedTasksAuditorApprovalValue.CreateExpenseApprovalRuleBasedTasksAuditorApprovalValue("Approved")
    getApprovalItem.AuditorApprovalValue = "Approved"
    Case "Rejected"
    getApprovalItem.AuditorApproval = ExpenseApprovalRuleBasedTasksAuditorApprovalValue.CreateExpenseApprovalRuleBasedTasksAuditorApprovalValue("Rejected")
    getApprovalItem.AuditorApprovalValue = "Rejected"
    End Select
    getApprovalItem.Outcome = "Completed"
    getApprovalItem.Status = ExpenseApprovalRuleBasedTasksStatusValue.CreateExpenseApprovalRuleBasedTasksStatusValue("Completed")
    getApprovalItem.StatusValue = "Completed"
    getApprovalItem.Complete = True
    spContext.UpdateObject(getApprovalItem)
    spContext.SaveChanges()
    End If

  • FRM-30351: No list elements defined for list item.

    Hello!
    i have a list_item with name NOMBRE and in a NEW_FORM_INSTANCE trigger i have the following pl/sql block to populate it:
    declare
         grp_producto recordgroup := find_group('RECORD_PRODUCTO');
         lst_item item := find_item('PRODUCTO.NOMBRE');
         status number;
    begin
         status := populate_group(grp_producto);
         clear_list(lst_item);
         populate_list(lst_item,grp_producto);
    end;
    when i run the form, this message appear
    FRM-30351: No list elements defined for list item.
    List NOMBRE
    and the list appear without elements
    ...can somebody explain me the solution or if i have to do another thing to populate the list?
    Thanks

    Hi Duncan!
    i rewrote the manually code and agregate the clear_list function that i think you refer with "Make sure that the block is empty before you do this". This work the first time but in the next time a change that i do in the database isn't reflected in the list, i think that my cursor mantain the old information, well, can you indicate me some way to clear the cursor or something similar? or explain me another solution?
    thanks so much!
    declare
    nombre_producto soportebwv2.producto.nombre%type;
    lst_item item;
    i number:=1;
    CURSOR cur IS
    select nombre
    from soportebwv2.producto;
    begin
    lst_item:= find_item('PRODUCTO.NOMBRE');
    clear_list(lst_item);
    open cur;
    loop
    fetch cur into nombre_producto;
    exit when cur%NOTFOUND;
    add_list_element(lst_item, i, nombre_producto, nombre_producto);
    i:=i+1;
    end loop;
    close cur;
    end;

Maybe you are looking for

  • Can we view sheets in sidebar as tabs?

    As a recent switcher from Windows and Excel, I find that I miss the tabs. Is there an alternative to seeing the sheets on the sidebar?

  • MacBook Pro (MacBookPro6,2)

    I have a nice 2010 / i7-2.66Ghz model that I have enjoyed now and do so even more since I just purchased a 960SSD from OWC that has been running great for a few months now. My only issue is I'd like to go to 16GB of RAM.  The new rMBP is very nice, b

  • Not sending the correct field value

    Hi All, In our application there is an option of choosing a 'Group' from a list box. We would also like to enable the user to input a new Group Name if need be. The user will have to select 'Create a New Group' option in the list box and then type in

  • Oracle 10g connecting to 11g

    Hi all, <br><br> <b>I am trying to connect Oracle 10g client (installed on WinXP) to Oracle 11g database (installed on WinXP). The connection failes with the error No Listener returned.</b> <br><br> Below are the details. <br><br> On the database sid

  • How to use aggregate function with Toplink

    Hi My question is how can I get the following select when using Toplink-EJB.3: SELECT MAX(fieldname) FROM tablename; Thanasi