标签: save

下载文件时的浏览器事件保存到磁盘

我有敏感文件要下载给用户,每个用户只能下载一次给定文件.如果下载失败,我想允许重新下载,但不允许.

依靠在服务器上记录/处理文件下载请求是不够的 - 我需要确定地知道文件何时完成并在客户端就位,因为我的许多用户在频繁连接丢失的环境中工作.

最直接的方法是,如果浏览器从"另存为..."对话框中公开了"文件已保存"事件,该对话框可以连接到下载页面上的JavaScript函数(可以回发到服务器).但是,直觉表明,如果浏览器暴露了这个功能,可能会出现安全漏洞,因为它会在沙箱之外偷偷溜走.我不确定这是否可能.

在这个领域发现 其他 几个问题 ,但没有具体说明这个问题.

有任何想法吗?

编辑:我不应该在原始问题中使用"安全"一词,对不起触发红色鲱鱼.

编辑2:我的"安全"措辞误导人们进入了外部技术安全问题,但你们两人都证实了我的怀疑,"不,没有浏览器支持." 因为他的第一句话得到了我的期待,所以我正在为第一个评论者做出回答.谢谢大家.

javascript browser download save dom-events

20
推荐指数
2
解决办法
5万
查看次数

保存并加载jsPlumb流程图,包括精确的锚点和连接

这是我正在构建的流程图编辑器的jsFiddle.

这是使用"添加决策"+"添加任务",连接和移动元素可以轻松创建的示例.

示例流程图 - 用户配置

现在是困难的部分:我希望能够保存并加载确切的流程图.为此,我开始在Stackoverflow 上使用类似的线程.

为此,我添加了"保存"和"加载"按钮,用于将流程图导出/导入JSON(在保存后显示在jsFiddle中的textform中 - 相同的textform可用于加载).

保存功能:

function saveFlowchart(){
            var nodes = []
            $(".node").each(function (idx, elem) {
            var $elem = $(elem);
            var endpoints = jsPlumb.getEndpoints($elem.attr('id'));
            console.log('endpoints of '+$elem.attr('id'));
            console.log(endpoints);
                nodes.push({
                    blockId: $elem.attr('id'),
                    nodetype: $elem.attr('data-nodetype'),
                    positionX: parseInt($elem.css("left"), 10),
                    positionY: parseInt($elem.css("top"), 10)
                });
            });
            var connections = [];
            $.each(jsPlumb.getConnections(), function (idx, connection) {
                connections.push({
                    connectionId: connection.id,
                    pageSourceId: connection.sourceId,
                    pageTargetId: connection.targetId
                });
            });

            var flowChart = {};
            flowChart.nodes = nodes;
            flowChart.connections = connections;
            flowChart.numberOfElements = numberOfElements; …
Run Code Online (Sandbox Code Playgroud)

javascript json save flowchart jsplumb

20
推荐指数
1
解决办法
1万
查看次数

Doctrine - 只用一个save()插入多行

如何save()Doctrine中将多行插入表调用方法?

php database doctrine insert save

19
推荐指数
1
解决办法
2万
查看次数

覆盖dateCreated以在Grails中进行测试

有没有办法dateCreated在不关闭自动时间戳的情况下覆盖域类中字段的值?

我需要测试控制器,我必须提供具有特定创建日期的特定域对象,但GORM似乎覆盖了我提供的值.

编辑

我的课程看起来像这样:

class Message {

    String content
    String title
    User author

    Date dateCreated
    Date lastUpdated

    static hasMany = [comments : Comment]

    static constraints = {
        content blank: false
        author nullable: false
        title nullable: false, blank: false
    }

    static mapping = {
        tablePerHierarchy false
        tablePerSubclass true
        content type: "text"
        sort dateCreated: 'desc'
    }
}

class BlogMessage extends Message{

    static belongsTo = [blog : Blog]

    static constraints = {
        blog nullable: false
    }

}
Run Code Online (Sandbox Code Playgroud)

我正在使用控制台来缩短时间.当我写作时,我遇到的问题是Victor的方法:

Date someValidDate = …
Run Code Online (Sandbox Code Playgroud)

grails save grails-orm

19
推荐指数
5
解决办法
5208
查看次数

如何将MATLAB命令窗口的内容保存到文件中?

我想自动将"命令窗口"中的所有内容保存到文件中.有办法吗?

matlab file save command-window

19
推荐指数
1
解决办法
5万
查看次数

将所选文本附加或前置到Vim中的文件

在Vim中,有没有办法将所选文本移入<current_file>.bak,追加或前置?如果可能,不应显示备份文件.

我设想工作流程是:

  1. 选择一些文字
  2. 类型 :sbak
  3. 选择保存到 <current_file>.bak

vim backup save selection

19
推荐指数
3
解决办法
1万
查看次数

android SharedPreferences putStringSet命令/排序

我尝试保存/恢复一组字符串,除了一件事以外一切正常.当我创建我的字符串时,我把:

Set<String> set = new HashSet<String>();
for(int i=0; i<toggles.size();i++){
   set.add(toggles.get(i).serialise());                 
}
Run Code Online (Sandbox Code Playgroud)

订单例如是"blutooth""application""data".当我回来时:

Set<String> set = prefs.getStringSet(key, new HashSet<String>());
for (String toggle : set){
    Toggle t = new Toggle();
    t.deserialize(toggle);
    toggles.add(t); 
}
Run Code Online (Sandbox Code Playgroud)

我得到"应用程序""蓝牙""数据"他们按名称排序,我不想要这个.我希望获得相同的订单.有人可以帮帮我吗?

android save sharedpreferences

19
推荐指数
3
解决办法
1万
查看次数

将Android中的位图保存为外部存储中的JPEG文件夹

我使用此代码将位图保存在外部存储中但如果它不存在则不会创建该文件夹:

String path = Environment.getExternalStorageDirectory().toString();
        OutputStream fOutputStream = null;
        File file = new File(path + "/Captures/", "screen.jpg");
        try {
            fOutputStream = new FileOutputStream(file);

            capturedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOutputStream);

            fOutputStream.flush();
            fOutputStream.close();

            MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show();
            return;
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show();
            return;
        }
Run Code Online (Sandbox Code Playgroud)

如果不存在,如何将图像保存在新目录中,如果设备中有文件夹,则保存默认值?

android save android-file

19
推荐指数
2
解决办法
5万
查看次数

在php中为动态创建的文件授予777权限

嗨,我有一个脚本,动态创建我的本地目录中的文件请告诉我如何给予该文件777权限,现在它在浏览器中无法访问

<?php
//Get the file
$content = 'http://xxx.xxx.com.mx/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/b/r/bridal-shoes1.jpg ';
$content1 = explode('/', $content);
$end = end($content1);
echo $end;
//print_r($content1[12]);
//Store in the filesystem.
$my_file = $end;
$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); //implicitly creates file
$path = '/var/www/'.$end;

copy($content, $path);

 ?>
Run Code Online (Sandbox Code Playgroud)

php apache save

19
推荐指数
1
解决办法
4万
查看次数

片段替换触发searchView上的onQueryTextChange

这就是我浏览应用的方式:

  • 用列表打开片段
  • 按searchview中输入的文本过滤列表
  • 点击listitem(列表片段被细节片段替换)
  • 向后导航(详细信息片段被列表片段替换)

当我从list-detail-fragment导航时,我希望将searchview的当前过滤器保存在字符串变量中.我在执行onQueryTextChange时存储searchview的值.

问题:我无法存储实际的过滤器值,因为当我从列表导航到详细信息时会调用onQueryTextChange,因为有些东西清除了searchview的文本.

// ...
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            searchReceived(s);
            return true;
        }
    });
// ...

public void searchReceived(String searchQuery)
{
    this.stateHolder.searchQuery = searchQuery;
    // more code...
}
Run Code Online (Sandbox Code Playgroud)

当我想在导航回来时恢复过滤器时,它只是使用空字符串过滤,因为存储了错误的值this.stateHolder.searchQuery.

堆:

onQueryTextChange():139, EmployeeListFragment$1 {com.example.exampleapp.fragment}
onTextChanged():1153, SearchView {android.widget}
access$2000():92, SearchView {android.widget}
onTextChanged():1638, SearchView$11 {android.widget}
sendOnTextChanged():7408, TextView {android.widget}
setText():3816, TextView {android.widget}
setText():3671, TextView {android.widget}
setText():80, EditText {android.widget}
setText():3646, TextView {android.widget}
setQuery():511, SearchView {android.widget} …
Run Code Online (Sandbox Code Playgroud)

android state save android-fragments searchview

19
推荐指数
3
解决办法
3645
查看次数