質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

4091閲覧

SharePoint 2013でライブラリにフォルダーを作成しファイルをアップロードする処理

Chibimasa

総合スコア7

SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/11/29 08:10

現在、SharePoint 2013で標記の処理を実装しようとしています。

作成済みのライブラリにフォルダーを作成、そのフォルダーにファイルをアップロードするという処理で以下のように実装を進めていますが、リストアイテムを更新できない旨のエラーが発生してしまいます。

フォルダーは作成できているのですが、completeの処理まで到達せずエラーを吐いてしまい、どこが根本原因か不明な状態です。
有識者の皆さまのお力をお借りしたく、投稿させていただきます。
よろしくお願い致します。

以下、コード抜粋とエラーメッセージです。

C#

1 var CurrentCtx = SP.ClientContext.get_current(); 2 3 var List = CurrentCtx.get_web().get_lists().getById(parent._spPageContextInfo.pageListId); 4 CurrentCtx.load(List, "Id"); 5 CurrentCtx.executeQueryAsync(Function.createDelegate(this, OnLibQuerySucceeded), Function.createDelegate(this, OnLibQueryFailed)); 6 7 function OnLibQuerySucceeded() { 8 var ListId = List.get_id().toString(); 9 var SiteRelativeUrlToFolder = 'temporaryLib_' + ListId.replace(/-/g, ''); 10 var FolderName = $('#txtFolderName').val(); 11 12 var FolderCollectionEndpoint = String.format("{0}/_api/web/folders/add('{1}/{2}')", _spPageContextInfo.webAbsoluteUrl, SiteRelativeUrlToFolder, FolderName); 13 14 $.ajax({ 15 url: FolderCollectionEndpoint, 16 type: "POST", 17 headers: { 18 "X-RequestDigest": $("#__REQUESTDIGEST").val(), 19 "content-type": "application/json;odata=verbose" 20 }, 21 error: function (XMLHttpRequest, TextStatus, ErrorThrown) { 22 alert("XMLHttpRequest : " + XMLHttpRequest.status + ", textStatus : " + TextStatus + ", errorTrown : " + ErrorThrown.message); 23 }, 24 complete: function () { 25 for (var i = 0; i < FileArray.length; i++) { 26 var GetFile = GetFileBuffer(File); 27 GetFile.done(function (DataArray) { 28 var AddFile = AddFileToFolder(DataArray); 29 AddFile.done(function (file, status, xhr) { 30 var NewFileUpload = $('#fileInput')[0].outerHTML.replace('id="fileInput"', 'id="fileInputNew"'); 31 $('#fileInput').after(NewFileUpload); 32 $('#fileInput').remove(); 33 $('#fileInputNew').attr('id', 'fileInput'); 34 }); 35 AddFile.fail(onError); 36 }); 37 GetFile.fail(onError); 38 } 39 } 40 }); 41 42function GetFileBuffer(File) { 43 var Deferred = $.Deferred(); 44 var Reader = new FileReader(); 45 Reader.onloadend = function (e) { 46 Deferred.resolve(e.target.result); 47 }; 48 Reader.onerror = function (e) { 49 Deferred.reject(e.target.error); 50 }; 51 Reader.readAsArrayBuffer(File); 52 return Deferred.promise(); 53 } 54 55 function AddFileToFolder(DataArray) { 56 var FileCollectionEndpoint = String.format("{0}/_api/web/getfolderbyserverrelativeurl('{1}/{2}')/files/add(overwrite=true, url='{3}')", _spPageContextInfo.webAbsoluteUrl, SiteRelativeUrlToFolder, FolderName, File.name); 57 58 return $.ajax({ 59 url: FileCollectionEndpoint, 60 type: "POST", 61 data: DataArray, 62 processData: false, 63 headers: { 64 "accept": "application/json;odata=verbose", 65 "X-RequestDigest": $("#__REQUESTDIGEST").val(), 66 "content-length": DataArray.byteLength 67 } 68 }); 69 }

---エラーメッセージ

'/' アプリケーションでサーバー エラーが発生しました。

<nativehr>0x80070057</nativehr><nativestack></nativestack>リスト アイテムの更新に無効なデータが使われています。更新しようとしているフィールドは読み取り専用の可能性があります。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.ArgumentException: <nativehr>0x80070057</nativehr><nativestack></nativestack>リスト アイテムの更新に無効なデータが使われています。更新しようとしているフィールドは読み取り専用の可能性があります。

ソース エラー:

現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。

スタック トレース:

[ArgumentException: <nativehr>0x80070057</nativehr><nativestack></nativestack>リスト アイテムの更新に無効なデータが使われています。更新しようとしているフィールドは読み取り専用の可能性があります。]
Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bUnRestrictedUpdateInProgress, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback) +0
Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bUnRestrictedUpdateInProgress, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback) +10051
Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion) +2046
Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion) +683
Microsoft.SharePoint.SPListItem.Update() +141
Microsoft.SharePoint.WebControls.SaveButton.SaveItem(SPContext itemContext, Boolean uploadMode, String checkInComment) +724
Microsoft.SharePoint.WebControls.SaveButton.OnBubbleEvent(Object source, EventArgs e) +863
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6016


バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.6.1055.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問