我在这件事上不知所措。我有一个用户界面,用于创建和编辑存储在 SharePoint 文档库中的文档。技巧部分是我需要允许用户更新文档没问题,只是使用SPFile.SaveBinary()对吗?
这肯定会更新文件的内容,但不知何故旧文件名和旧扩展名仍然存在,这是一个问题。删除并重新添加列表项也不是解决方案,因为 url 中引用了该项的 id。
我的问题是如何更新 SPFile 项目的扩展名和文件名元数据?
到目前为止,我使用对象库的所有尝试都失败了,我尝试更新下面的字段都没有成功。似乎必须有一种更简单的方法来做到这一点。
SPFile file = item.File;
file.Item[SPBuiltInFieldId.FileLeafRef] = resolvedFileName;
file.Item[SPBuiltInFieldId.FileRef] = "/File/" + resolvedFileName;
file.Item[SPBuiltInFieldId.BaseName] = System.IO.Path.GetFileNameWithoutExtension(resolvedFileName);
file.Item["Name"] = System.IO.Path.GetFileNameWithoutExtension(resolvedFileName);
file.SaveBinary(conduitFile);
file.Update();
Run Code Online (Sandbox Code Playgroud)
[编辑] - 这是我的工作解决方案。
SPFile file = item.File;
string resolvedFileName = item.ID.ToString() + "-" + conduitFileName;
item["Title"] = resolvedFileName;
file.SaveBinary(conduitFile);
file.MoveTo(item.ParentList.RootFolder.Url + "/" + resolvedFileName, true);
file.Item["Name"] = resolvedFileName;
file.Update();
Run Code Online (Sandbox Code Playgroud) 来自我的数据源的字符串格式如下:
2011-04-11 23:12:05
// dateString comes from my data source, and look like I've said like this.
dateString = @"2011-04-11 23:12:05";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM"];
NSDate *date = [formatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)
当我在这样的线程之后搜索互联网时,答案一直是dateString格式错误.但我的dateString是正确的之一,对吧?
为什么日期返回nil?
我正在寻找检测应用程序正在使用的框架的方法.
例如,假设一些XYZ应用程序使用碳框架和可可框架,那么我的程序应该能够检测到这个XYZ应用程序使用碳框架和可可框架.
任何帮助将受到高度赞赏.
谢谢,拉胡尔
在我的应用程序中,我需要在鼠标单击时显示一个表单.问题是表单在另一个程序集中,并且由于程序集加载的惰性,很可能在按下鼠标按钮时尚未加载程序集.因此,在表单最终出现之前,我所拥有的是非常明显的暂停.
通过调用new FormFromAnotherAssembly()我的初始化方法,我能够得到一个愚蠢的修复.那当然是照顾好事情,停顿不再存在,但它非常难看.我唯一喜欢这个解决方案的是,如果我想使用类似的东西,我不必弄乱我必须要做的路径和程序集名称Assembly.Load.
那么,如果我想确保在实际需要之前加载程序集,那么选择好的,强大的解决方案是什么?
提前致谢.
如何从FileName打开或保存文件对话框的属性返回的路径中删除实际文件名?
我想要的只是没有文件名的文件路径.
我正在处理一个Polygon类,它包含一个顶点数组Array[Vec2](用Vec2一个简单的case类来定义x和y).
现在,我想实现一个函数来返回多边形的边缘Array[LineSegment](其中LineSegment又是一个定义开始和结束的简单案例类).
解决方案是创建将每个顶点连接到数组中的下一个顶点的线段,最后将最后一个顶点连接到第一个顶点.
我只习惯于命令式编程,所以这是我的必要方法:
def edges: Array[LineSegment] = {
val result = new Array[LineSegment](vertices.length)
for (i <- 0 to vertices.length - 2) {
result.update(i, LineSegment(vertices.apply(i), vertices.apply(i + 1)))
}
result.update(edges.length - 1, LineSegment(vertices.head, vertices.last))
result
}
Run Code Online (Sandbox Code Playgroud)
这很好用,但很简单.我想在这里使用函数式编程的优点,但我仍然坚持这一点.
我的想法是把它写成类似于这样的东西:
def edges: Array[LineSegment] = {
for (v <- vertices) yield
LineSegment(v, if (v == vertices.last) vertices.head else /* next? */)
}
Run Code Online (Sandbox Code Playgroud)
问题是,在给定当前项目的情况下,无法访问数组中的下一个项目v.
我已经读过关于sliding定义的方法IterableLike,但是这似乎是非旋转的,即它不会考虑第一个项目在最后一个项目之后,因此不会返回它.
那么什么是一个很好的"scala-esque"方法呢?
我想使用自动完成小部件允许某人通过在文本框中键入员工姓名来选择员工,但我希望表单发布员工的ID,而不是员工姓名.我提供了数据,即员工姓名作为来源..js中的标签和值与我提供的源相同,我怎样才能将员工姓名和ID分开.
$("#txtEmployeeName").autocomplete({
var suggestions = [] ;
//define callback to format results
source: function(req, add){
ajax call...
on success: function( data )
{
suggestions = data.split('|');
add(suggestions);
}
select: function(e, ui) {
//create formatted friend
var friend = ui.item.value,
span = $("<span>").text(friend)
$("#"+ $(this).attr("id")).val(span);
}
});
Run Code Online (Sandbox Code Playgroud) Haskell SDL绑定导出名为SDLKey的枚举类型.但是Enum实例以一种奇怪的方式声明:
instance Enum SDLKey Word32 where
fromEnum SDLK_UNKNOWN = 0
fromEnum SDLK_FIRST = 0
fromEnum SDLK_BACKSPACE = 8
...
Run Code Online (Sandbox Code Playgroud)
SDLKey不接受任何类型参数,这怎么不是语法错误?Haskell报告说SDLKey不是Enum的实例,那么Enum函数的定义类型是什么?而且,最重要的是,给定SDLKey,如何在其上调用Enum函数?
来自hackage的源代码:http://hackage.haskell.org/packages/archive/SDL/0.6.2/doc/html/src/Graphics-UI-SDL-Keysym.html#SDLKey
ConfigurationManager 没有在intellisense中显示...有人可以帮忙吗?
我使用javax.crypto.cipher来加密和解密一些数据.它运作良好.但有时候,解密会出现badPaddingException.如果我比较有failling呼叫succefull呼叫,给密码输入相同,并且密码被初始化以同样的方式.
我如何实现我的密码
dcipher = Cipher.getInstance("PBEWithMD5AndDES");
KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);
dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
Run Code Online (Sandbox Code Playgroud)
我怎么用它
dec = Base64.decode(str) ;
byte[] utf8 = dcipher.doFinal(dec);
Run Code Online (Sandbox Code Playgroud)
在doFinal上引发了异常.
任何的想法 ?
谢谢 !
哦,顺便说一下,我使用bouncyCastle作为提供者,并将其添加到列表顶部
Security.insertProviderAt(new org.bouncycastle.jce.provider.BouncyCastleProvider(), 1);
Run Code Online (Sandbox Code Playgroud)
为了完整性,并且因为问题仍然不时出现.这是完整的课程.
public class EncryptDecryptUtil {
/** Encryption Cipher */
private static Cipher ecipher;
/** Decription Cipher */
private static Cipher dcipher;
private static Logger logger = Logger.getLogger(EncryptDecryptUtil.class);
/**
* Constructor used to create this object. Responsible for setting and initializing this object's encrypter …Run Code Online (Sandbox Code Playgroud) .net ×2
assemblies ×1
autocomplete ×1
c# ×1
cocoa ×1
cryptography ×1
encryption ×1
file ×1
file-io ×1
haskell ×1
java ×1
jquery ×1
jquery-ui ×1
macos ×1
macos-carbon ×1
objective-c ×1
reflection ×1
scala ×1
scala-2.8 ×1
sdl ×1
vb.net ×1